【发布时间】:2018-01-09 19:20:42
【问题描述】:
尝试使用IntelliJ 2017.2 将我的项目迁移到 java8 + Junit5
我已经添加了junit-jupiter-api版本5.0.0-M6
和junit-platform-launcher 版本1.0.0-M6
项目结构是默认的maven约定src/test/java
找到了几篇关于此的文章,但没有一篇能解决我的问题。
它在控制台中运行良好,我认为这与 IntelliJ 默认的 JUnit Runner 有关,或者我缺少一些依赖项?
当我运行单个测试类时,一切正常,但是当我像以前一样选择目录和 Run all 'Tests' in Java 时,我遇到了一些错误。
WARNING: TestEngine with ID 'junit-jupiter' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.engine.TestDescriptor.pruneTree()V
Aug 02, 2017 2:44:56 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable
WARNING: TestEngine with ID 'junit-vintage' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.engine.EngineDiscoveryRequest.getDiscoveryFiltersByType(Ljava/lang/Class;)Ljava/util/List;
Aug 02, 2017 2:44:56 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable
WARNING: TestEngine with ID 'junit-jupiter' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.engine.TestDescriptor.pruneTree()V
Aug 02, 2017 2:44:56 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable
WARNING: TestEngine with ID 'junit-vintage' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.engine.EngineDiscoveryRequest.getDiscoveryFiltersByType(Ljava/lang/Class;)Ljava/util/List;
注意:我还没有迁移任何测试,都是 Junit 4 语法。
【问题讨论】:
-
调试它的一般方法是在命令行上运行 gradle test。这应该比 IntelliJ 提供更详细的输出。
标签: java intellij-idea junit