在 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
陪伴而非守候
相关分类