【发布时间】:2021-06-30 14:20:02
【问题描述】:
我们最近决定使用 Quarkus 创建我们的新项目。现在我们正在努力决定要使用哪些测试库:
- quarkus 实现(例如
io.quarkus.quarkus-junit5、io.quarkus.quarkus-junit5-mockito) - 标准测试库:
Junit5+Mockito
我们已经熟悉 Junit5 + Mockito 非 quarkus 实现,所以如果我们决定继续使用这些库,我们不需要学习任何新东西
使用 Quarkus 库,我们可以使用一些新功能,例如 @InjectMock 或 @QuarkusTest,这似乎使测试类更加整洁。
我正在寻找的是找出是否有任何理由(除了可读性和更少的编码)与 Quarkus 库一起使用?如果不是,我猜大多数 Java 团队的偏好应该是标准测试库的使用。
【问题讨论】:
-
quarkus-junit5或quarkus-junit5-mockito不是 JUnit 5 或 Mockito 的“Quarkus 实现”。它们为您提供了与您习惯相同的 JUnit 5 和 Mockito 库。最重要的是,与 Quarkus 紧密集成,可以轻松测试 Quarkus 应用程序。这不是非此即彼。您可以使用纯 JUnit 对组件进行单元测试(除非这些组件是 CDI bean,或者它们需要某种容器的其他原因),以及用于集成测试应用程序的 Quarkus 集成。 -
我知道我可以使用纯 JUnit 来测试一些组件,但问题是我是否应该这样做?
quarkus-junit5和junit5这里有什么区别? -
好吧,据推测但未确认使用框架版本应确保库之间的类路径兼容性,如果您独立处理每个库,则必须自己执行此操作,quarkus 注释也为您做了一些糖在配置和与框架其他部分的集成方面,因为它正在使用 QuarkusTestIntegration 注释使用容器构建进行测试,并帮助您使用 QuarkusTestResourceLifecylce 开箱即用地管理测试依赖项生命周期。 @dgebert。
-
谢谢@karelss,我想这是真的,只是不确定这是否足以做出明智的决定来选择正确的方法
标签: java testing junit5 quarkus