首页/开发/软件测试速查/JUnit 5 扩展模型
自动化测试66 条

JUnit 5 扩展模型

JUnit 5 通过 @ExtendWith 注册扩展点(BeforeEachCallback、ParameterResolver、TestExecutionExceptionHandler 等),实现依赖注入、条件执行与自定义重试等能力。

软件测试速查开发更新于 2026-10-12

扩展示例

扩展示例
@ExtendWith(MockitoExtension.class)
class OrderTest {
    @Mock Mailer mailer;
    @InjectMocks OrderService service;
}
条件执行注解也属于扩展体系:@EnabledOnOs、@EnabledIfEnvironmentVariable、@DisabledIf 等。

易错点

  • 扩展内部吞掉异常又不上抛,用例失败信息丢失
  • 多个扩展对执行顺序有要求却未评估 @Order,产生随机失败

数据来源与参考

  • JUnit 5 User Guide:Extension Model 与 Conditional Test Execution(junit.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌