我已经将我的JUnit4代码迁移到JUnit5,并使用以下版本依赖项。
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.3.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>2.22.0</version>
<scope>test</scope>
</dependency>
mvn -B verify -DforkCount=1 -DreuseForks=false
但我面临的问题是,在迁移到junit5之后,运行它时跳过了TestCase。
我正在使用maven-surefire-plugin-version 2.22.0.
在运行时,只需打印下面一行
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<properties>
<configurationParameters>
junit.jupiter.conditions.deactivate = *
junit.jupiter.extensions.autodetection.enabled = true
junit.jupiter.testinstance.lifecycle.default = per_class
junit.jupiter.execution.parallel.enabled = true
</configurationParameters>
</properties>
</configuration>
</plugin>
</plugins>
我的maven版本是3.3.9
并且不运行测试用例。我面临这个奇怪问题的任何具体原因。之前使用JUnit4的相同测试用例运行良好。
经过进一步分析,我发现命令=>mvn-b verify-dforkcount=1-dreuseforks=false
不运行测试用例,并跳过它们。但是当我用=>mvn-b verify-dforkcount=1-dreuseforks=true
替换相同的命令时,它就开始工作了。我理解properties forkcount=1/reuseforks=true,这意味着maven-surefire-plugin创建一个新的JVM进程来执行一个Maven模块中的所有测试,但我想知道为什么它不能使用mvn-b verify-dforkcount=1-dreuseforks=false
命令。Junit5迁移是否需要任何maven或maven helper版本升级?
这是JUnit 5.3[.1]的maven-surefire-plugin
中的一个已知错误,该配置使用分叉但不重用它们。
升级到maven-surefire-plugin
2.22.1(上周末发布,2018年10月7日)将解决这个问题。
null JUnit4中的示例 JUnit5中的示例
我有一个工作环境,包括我不管理的bom和JUnit5测试,除非我从如果我从它们不会被maven surefire插件拾取。我阅读了许多部分,并在一个较小的项目中进行了测试,它的工作和拾取,我不知道该在这篇文章中包含什么,因此您有足够的信息来查看问题所在。此外,如果有人能解释我阅读的导入的幕后内容,JUnit 4和5都需要使用surefire即 与版本 我很感激。 注意到 < li >我的测试都在s
我试图在JUnit5测试环境中使用JUnit4。事实上,我已经升级了我的pom来使用更高版本的MOckito和POwerMock。到目前为止,所有测试都基于JUnit4。我将平台和vintage依赖项添加到我的pom.xml中。 更早的pom。xml依赖关系
在Maven项目中,我有一些现有的测试依赖于JUnit4。由于多种原因,我无法在JUnit5中迁移这些测试。 本质上,一些测试依赖于使用JUnit4运行程序的库,代码迁移可能需要时间。 我同样希望用JUnit5创建新的测试类,它现在发布并提供了新的有趣的特性。 如何做到这一点?
在JUnit 4中,通过使用注释很容易跨一堆类测试不变量。关键是一组测试正在针对单个参数列表运行。 如何在JUnit 5中复制这一点,而不使用JUnit-vintage? 不适用于测试类。听起来可能是合适的,但该注释的目标也是一个方法。 此类 JUnit 4 测试的一个示例是: