在 Windows 10 上使用 IntelliJ IDEA 版本 2018.2.5(社區(qū)版),并基于來自 JUnit 團(tuán)隊(duì)的JUnit 5 示例學(xué)習(xí)如何在Gradle 4.8 中使用 JUnit 5參數(shù)化測試。測試像 gradle 任務(wù)測試一樣按預(yù)期運(yùn)行,但有時(shí)在運(yùn)行單個(gè)測試時(shí)會(huì)得到Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/launcher/TestExecutionListener如何在仍然使用 IntelliJ 2018.2.5(社區(qū)版)、帶有參數(shù)測試的 JUnit 5 和使用 Gradle 的同時(shí)修復(fù)此異常?我一直在試圖為此找到答案,但我遇到的大部分答案都指出,IntellJ 與 JUnit 5 的使用處于很多過渡階段,因此不確定該信任什么。細(xì)節(jié)我知道有比正常情況或超出正常情況更多的細(xì)節(jié)和屏幕截圖,但是當(dāng)您學(xué)習(xí)新事物并需要幫助并開始尋找信息時(shí),您會(huì)厭倦看到遺漏了一些重要細(xì)節(jié)的答案。因此,對(duì)于那些在同一條船上并且需要查看缺失細(xì)節(jié)的人,希望我已將其包含在此處。雖然這個(gè)問題可能不是您要找的問題,但此處的詳細(xì)信息可能會(huì)對(duì)您有所幫助。異常堆棧跟蹤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(社區(qū)版)構(gòu)建 #IC-182.4892.20,構(gòu)建于 2018 年 10 月 16 日 JRE:1.8.0_152-release-1248-b19 amd64JVM:JetBrains 開發(fā)的 OpenJDK 64 位服務(wù)器 VM:11 SDK (java 版本“11.0.1”)IntelliJ 是為此示例安裝的干凈版本。使用的特定 JUnit 示例:junit5-jupiter-starter-gradle
1 回答

陪伴而非守候
TA貢獻(xiàn)1757條經(jīng)驗(yàn) 獲得超8個(gè)贊
IntelliJ IDEA(針對(duì)此問題 Community 2018.2)有時(shí)會(huì)為 JUnit5 測試生成無效配置。
要從菜單中查看運(yùn)行配置,請(qǐng)選擇:運(yùn)行 -> 編輯配置...
兩種不同的結(jié)果
在此示例中,IntelliJ IDEA 生成的 Class CalculatorTests 有兩個(gè)運(yùn)行配置。
1.
第一個(gè)配置生成異常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/junit/platform/launcher/TestExecutionListener
2.
第二個(gè)配置正確運(yùn)行
概括
因此,當(dāng)通過單擊左邊距中的綠色箭頭運(yùn)行單個(gè)測試時(shí),測試會(huì)導(dǎo)致異常。檢查實(shí)際運(yùn)行的是哪個(gè)配置
然后檢查測試的配置細(xì)節(jié)
以確保Use classpath or module
設(shè)置正確。
添加回答
舉報(bào)
0/150
提交
取消