当前位置: 首页 > 面试题库 >

junit-jupiter-api和junit-jupiter-engine之间的区别

闻人树
2023-03-14
问题内容

Maven模块junit-jupiter-api和之间有什么区别html" target="_blank">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-apijunit-jupiter-engine来编写和运行JUnit5测试
  • 仅在以下情况下才需要:junit-vintage-engine(a)与JUnit5一起运行, 以及 (b)测试用例使用JUnit4构造/注释/规则等

从5.4版开始的JUnit

在JUnit5.4中,这已简化,请参见下方答案以获取更多详细信息。



 类似资料:
  • 或者只有一个依赖项就足够了? 我需要添加对的依赖项吗?

  • 这是一个双重问题。 和之间有什么区别 SpringBoot starter项目排除了junit vintage engine。是为了强制使用junit jupiter引擎吗 下面是从Spring Initializer生成的SpringBoot项目的依赖项:

  • 有没有办法集成测试我的JUnit Jupiter扩展?当然,我可以测试扩展用法的一个很好的例子,但我想测试如下内容: 它没有通过预期的测试吗? 测试结束时写的报告是否正确? 对此有内置的支持吗?

  • junit5-samples 仓库托管了很多基于JUnit Jupiter和JUnit Vintage的示例项目。可以在下面的项目中找到各自的build.gradle和pom.xml. 对于Gradle, check out junit5-gradle-consumer 项目. 对于Maven, check out junit5-maven-consumer 项目.

  • 我在运行一个junit测试类(问题标题中的版本)时偶然发现了这个异常。 正如我在这篇文章中读到的,我必须升级到eclipse Oxygen.3,我做了,但仍然抛出了相同的异常。

  • 我想在我的sprint boot应用程序中添加端到端的测试,并遵循这个教程:https://reflectoring.io/spring-boot-web-controller-test/ 如果我运行这个测试,我会得到: 我的毕业档案是: 所以看起来< code > org/JUnit/Jupiter/API/extension/ScriptEvaluationException 丢失了,因为我忘