【发布时间】:2020-12-31 15:46:00
【问题描述】:
我一直在尝试使用 Maven Surefire 运行 JUnit 5 测试。但是,Surefire 似乎根本没有运行任何测试,尽管我确实有一些测试,而且也在默认目录中。
这是我得到的控制台输出:https://prnt.sc/ugo1xt
这里是 pom.xml 的相关部分:
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.7.0-M1</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
</plugin>
</plugins>
</build>
万无一失的版本是 3.0.0-M4。
我已经尝试了几乎所有可以在 Google 上找到的修复程序,尽管其中大多数似乎已经过时。任何帮助将不胜感激。
干杯!
编辑:这是我的测试示例:
package bankprojekt;
import bankprojekt.verarbeitung.*;
import org.junit.jupiter.api.*;
import static org.junit.jupiter.api.Assertions.*;
public class GirokontoTest {
Girokonto gk;
@BeforeEach
void setup(){
gk = new Girokonto();
gk.einzahlen(500);
}
@AfterEach
void teardown(){
gk = null;
}
@Test
void abhebenMitWaehrungswechsel(){
try{
gk.abheben(195.583, Waehrung.BGN);
}
catch (Exception e) {
System.out.println(e);
}
assertEquals(400, gk.getKontostand());
}
@Test
void einzahlenMitWaehrungswechsel(){
gk.einzahlen(195.583, Waehrung.BGN);
assertEquals(600, gk.getKontostand());
}
}
【问题讨论】:
-
maven使用的是最新的3.6.3版本吗?有时旧的 maven 版本可能与 surefire 插件版本不兼容。还有一些常见的错误排查请参考以下链接,xspdf.com/resolution/51739978.html
-
请展示您的单元测试示例?此外,您可以使用 5.7.0 版本而不是 5.7.0-M1...
-
@SreedharS 是的,我正在运行 Maven 3.6.3。可悲的是,您发送的链接中似乎没有任何用处:(
-
@khmarbaise,不幸的是,切换到 5.7.0 没有用。在问题中添加我的测试的基本示例。
-
你能在github上做一个示例项目吗....
标签: java maven junit junit5 maven-surefire-plugin