在 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
提交
取消