我和我的团队一直在使用 Spring Boot 开发一堆微服务。由于服务经历了 JUnit 和 Spring Boot 升级(我们现在使用的是 Spring Boot 2 和 JUnit 5),不同开发人员实现的不同 JUnit 现在使用不同的模式:
- @ExtendWith
- @RunWith
今天,它们两者之间有什么区别?我们真的需要它们来进行单元测试还是嵌入到一些新的 Spring Boot 注释中?
原文由 AR1 发布,翻译遵循 CC BY-SA 4.0 许可协议
我和我的团队一直在使用 Spring Boot 开发一堆微服务。由于服务经历了 JUnit 和 Spring Boot 升级(我们现在使用的是 Spring Boot 2 和 JUnit 5),不同开发人员实现的不同 JUnit 现在使用不同的模式:
今天,它们两者之间有什么区别?我们真的需要它们来进行单元测试还是嵌入到一些新的 Spring Boot 注释中?
原文由 AR1 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您使用的是 Junit 版本 < 5,则必须使用 @RunWith(SpringRunner.class)
或 @RunWith(MockitoJUnitRunner.class)
等。
如果您使用的是 Junit 版本 = 5,那么您必须使用 @ExtendWith(SpringExtension.class)
或 @ExtendWith(MockitoExtension.class)
等。
原文由 TinyOS 发布,翻译遵循 CC BY-SA 4.0 许可协议
答案可以在 文档 中找到:
.