junit-jupiter-api和junit-jupiter-engine之间的区别
问题内容:
Maven模块junit-jupiter-api
和之间有什么区别junit-jupiter- engine
?是否需要在其中包含两个依赖项build.gradle
?
我需要写两个依赖吗
testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
testCompile("org.junit.jupiter:junit-jupiter-api:${junitVersion}")
要么
testCompile("org.junit.jupiter:junit-jupiter-engine:${junitVersion}")
足够?
我是否需要增加对的依赖junit-vintage-engine
?
问题答案:
5.4之前的JUnit
从文档:
junit-jupiter-api
JUnit Jupiter API,用于编写测试和扩展。
junit-jupiter-engine
JUnit Jupiter测试引擎实现,仅在运行时需要。
junit-vintage-engine
JUnit Vintage测试引擎实现,允许在新的JUnit Platform上运行Vintage JUnit测试,即以JUnit 3或JUnit
4样式编写的测试。
所以…
- 您同时需要
junit-jupiter-api
和junit-jupiter-engine
来编写和运行JUnit5测试 - 仅在以下情况下才需要:
junit-vintage-engine
(a)与JUnit5一起运行, 以及 (b)测试用例使用JUnit4构造/注释/规则等
从5.4版开始的JUnit
在JUnit5.4中,这已简化,请参见下方答案以获取更多详细信息。