我有一个使用 Spring Boot 和 Junit 5的简单应用程序:
当使用 Spring Boot 2.1(例如2.1.8或2.1.12)时,我的单元测试运行 顺利
当使用 Spring Boot 2.2(例如,2.2.2. RELEASE 或2.3.2. RELEASE)时,我的单元测试会因为错误消息而失败
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2:test (default-test) on project XXX: There are test failures.
[ERROR]
[ERROR] Please refer to D:\Projets\workspace\XXX\target\surefire-reports for the individual test results.
[ERROR] Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.
[ERROR] There was an error in the forked process
[ERROR] TestEngine with ID 'junit-vintage' failed to discover tests
[ERROR] org.apache.maven.surefire.booter.SurefireBooterForkException: There was an error in the forked process
[ERROR] TestEngine with ID 'junit-vintage' failed to discover tests
[ERROR] at org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:656)
我使用的是 Maven 3.6.1、 JDK 1.8、 JUnit 5.6.0和 JUnit 平台1.6。我从 spring-boot-starter-test
中排除了对 junit:junit
的依赖关系,因此在依赖关系树中没有留下 JUnit 4构件。请注意,Spring Boot 2.2和2.3都使用 maven-surefire-plugin
2.22.2,因此我的问题不是来自 maven-surefire-plugin
的任何回归。
我是否应该坚持使用 SpringBoot2.1来使我的单元测试正常工作?
先谢谢你的帮助。