我有使用老式引擎和maven-surefire-plugin版本2.19.1与JUnit Jupiter(JUnit 5)一起运行的JUnit 4测试。
[INFO] --- maven-surefire-plugin:2.19.1:test (default-test) @ jon-snow ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-surefire-plugin:2.19.1:test (unit-tests) @ jon-snow ---
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.whatever.WhateverTest
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 ...
当我将maven-surefire-plugin版本升级到2.22.1时,没有检测到测试。
[INFO] --- maven-surefire-plugin:2.22.1:test (default-test) @ jon-snow ---
[INFO] Tests are skipped.
[INFO]
[INFO] --- maven-surefire-plugin:2.22.1:test (unit-tests) @ jon-snow ---
[INFO]
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
这是为什么?我有248个应该运行的测试。我需要添加哪些依赖项或配置更改才能使测试再次起作用?
答案 0 :(得分:1)
类似于@Marvin所说的那样,您将需要确保相应地更新了木星引擎插件的版本。另外,如果您使用的是较旧的jUnit版本,则可以使用更新的依赖项。 下面分别提供了一个小样本。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.5.2</version>
</dependency>
</dependencies>
...
</plugin>
如果您使用的是较早的jUnit依赖项,请包含此依赖项
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.5.2</version>
</dependency>
在上面的示例中,我们使用的是maven-surefire-plugin版本2.22.2