在 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/TestExecutionListenerat 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.345IntelliJ IDEA 2018.2.5(社区版)构建 #IC-182.4892.20,构建于 2018 年 10 月 16 日 JRE:1.8.0_152-release-1248-b19 amd64JVM:JetBrains 开发的 OpenJDK 64 位服务器 VM:11 SDK (java 版本“11.0.1”)IntelliJ 是为此示例安装的干净版本。使用的特定 JUnit 示例:junit5-jupiter-starter-gradle
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
IntelliJ IDEA(针对此问题 Community 2018.2)有时会为 JUnit5 测试生成无效配置。
要从菜单中查看运行配置,请选择:运行 -> 编辑配置...
两种不同的结果
在此示例中,IntelliJ IDEA 生成的 Class CalculatorTests 有两个运行配置。
1.
第一个配置生成异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/launcher/TestExecutionListener
2.
第二个配置正确运行
概括
因此,当通过单击左边距中的绿色箭头运行单个测试时,测试会导致异常。检查实际运行的是哪个配置
然后检查测试的配置细节
以确保Use classpath or module
设置正确。
添加回答
举报
0/150
提交
取消