SuperAPI AI 工具集

junit-mockito-patterns

数据与分析

查看项目

更新于 10-16 08:47

技能介绍

用途:面向 Java 单元测试与切片测试,整理 JUnit5 + Mockito 的编写规则与常见错误,帮助写出快速、隔离、可读的测试。

主要能力:JUnit5 迁移规则(@ExtendWith 替代 @RunWith,@Test 导入 org.junit.jupiter.api);Mockito 规则(@Mock 外部依赖 + @InjectMocks 被测试对象,不 Mock POJO);FIRST 测试隔离原则;切片测试(@WebMvcTest 测 Controller、@DataJpaTest 测 Repository、@JsonTest);BDDMockito 的 given()/willReturn()/then().should();verify() 与 ArgumentCaptor 行为验证;@ParameterizedTest + @MethodSource;@Nested 分组。

使用方式:纯单元测试用 @ExtendWith(MockitoExtension.class) 加 @Mock/@InjectMocks;Controller 用 @WebMvcTest + @MockBean;Repository 用 @DataJpaTest + TestEntityManager;集成测试才用 @SpringBootTest。@MockitoExtension 自动初始化 mock,无需在 @BeforeEach 调用 MockitoAnnotations.openMocks(this)。

限制:不覆盖集成/端到端测试(Playwright/Selenium)、性能测试(JMH)及 JUnit4 到 JUnit5 的完整迁移对照;Mockito 默认不能 Mock 构造方法、final 类与静态方法,需 PowerMock 或 Mockito Inline;@InjectMocks 必须是具体类。该技能不收集、存储或传输任何用户数据。