IntelliJ JUnit 5 测试作为 Gradle 任务运行良好

在 Windows 10 上使用 IntelliJ IDEA 版本 2018.2.5(社区版),并基于来自 JUnit 团队的JUnit 5 示例学习如何在Gradle 4.8 中使用 JUnit 5参数化测试。


测试像 gradle 任务测试一样按预期运行,但有时在运行单个测试时会得到


Exception in thread "main" java.lang.NoClassDefFoundError:  

   org/junit/platform/launcher/TestExecutionListener

如何在仍然使用 IntelliJ 2018.2.5(社区版)、带有参数测试的 JUnit 5 和使用 Gradle 的同时修复此异常?


我一直在试图为此找到答案,但我遇到的大部分答案都指出,IntellJ 与 JUnit 5 的使用处于很多过渡阶段,因此不确定该信任什么。


细节

我知道有比正常情况或超出正常情况更多的细节和屏幕截图,但是当您学习新事物并需要帮助并开始寻找信息时,您会厌倦看到遗漏了一些重要细节的答案。因此,对于那些在同一条船上并且需要查看缺失细节的人,希望我已将其包含在此处。虽然这个问题可能不是您要找的问题,但此处的详细信息可能会对您有所帮助。


异常堆栈跟踪


Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/launcher/TestExecutionListener

at java.base/java.lang.ClassLoader.defineClass1(Native Method)

at java.base/java.lang.ClassLoader.defineClass(ClassLoader.java:1016)

at java.base/java.security.SecureClassLoader.defineClass(SecureClassLoader.java:174)

at java.base/jdk.internal.loader.BuiltinClassLoader.defineClass(BuiltinClassLoader.java:802)

at java.base/jdk.internal.loader.BuiltinClassLoader.findClassOnClassPathOrNull(BuiltinClassLoader.java:700)

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClassOrNull(BuiltinClassLoader.java:623)

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)


软件版本

微软视窗版本 10.0.171314.345

IntelliJ IDEA 2018.2.5(社区版)
构建 #IC-182.4892.20,构建于 2018 年 10 月 16 日 JRE:1.8.0_152-release-1248-b19 amd64
JVM:JetBrains 开发的 OpenJDK 64 位服务器 VM
:11 SDK (java 版本“11.0.1”)IntelliJ 是为此示例安装的干净版本。

使用的特定 JUnit 示例:junit5-jupiter-starter-gradle


素胚勾勒不出你
浏览 181回答 1
1回答

陪伴而非守候

IntelliJ IDEA(针对此问题 Community 2018.2)有时会为 JUnit5 测试生成无效配置。要从菜单中查看运行配置,请选择:运行 -> 编辑配置...两种不同的结果在此示例中,IntelliJ IDEA 生成的 Class CalculatorTests 有两个运行配置。1.第一个配置生成异常:Exception in thread "main" java.lang.NoClassDefFoundError:      org/junit/platform/launcher/TestExecutionListener2.第二个配置正确运行概括因此,当通过单击左边距中的绿色箭头运行单个测试时,测试会导致异常。检查实际运行的是哪个配置然后检查测试的配置细节以确保Use classpath or module设置正确。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java