当我使用java 1.8.0_152升级新的junit版本时出现此错误:
aug. 11, 2017 9:46:07 DE org.junit.platform.launcher.core.DefaultLauncher handleThrowable
WARNING: TestEngine with ID 'junit-jupiter' failed to discover tests
java.lang.NoSuchMethodError: org.junit.jupiter.engine.descriptor.ClassTestDescriptor.setSource(Lorg/junit/platform/engine/TestSource;)V
以前我使用的是M4版本......没关系,我可以运行测试。
我添加了这些依赖项:
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.0-RC2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.0.0-RC2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>4.12.0-RC2</version>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.0.0-RC2</version>
</dependency>
可能有什么问题?
答案 0 :(得分:0)
AbstractTestDescriptor.setSource(TestSource)
已被删除。请参阅this commit。所以其中一个解决方案是将版本更改为5.0.0-M5。升级版产品版本(junit-platform-runner或junit-vintage-engine或junit-platform-launcher)可以解决这个问题但我不知道,直到我看到NoSuchMethodError的完整堆栈跟踪。