このエラー
NoClassDefFoundError:org/testng/TestNG
intelliJ IDEAを使用してTestng.xmlファイルからテストを実行しようとすると表示されます。テストを1つずつ実行すると、testng.xml
のようなgrade core-test:test
を指すgradleプロジェクト全体を実行するのと同様に完全に機能します
(私のプロジェクトでは、Appium + IntelliJ + TestNGを使用しています)
しかし、IntelliJを使用してtestng.xmlを実行している場合、[実行]を押すとすぐにこのメッセージが表示されます。
Exception in thread "main" Java.lang.NoClassDefFoundError: org/testng/TestNG
at Java.lang.ClassLoader.defineClass1(Native Method)
at Java.lang.ClassLoader.defineClass(ClassLoader.Java:763)
at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:467)
at Java.net.URLClassLoader.access$100(URLClassLoader.Java:73)
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:368)
at Java.net.URLClassLoader$1.run(URLClassLoader.Java:362)
at Java.security.AccessController.doPrivileged(Native Method)
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:361)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:424)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:331)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:357)
at org.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.Java:120)
at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
at Java.lang.reflect.Method.invoke(Method.Java:498)
at com.intellij.rt.execution.application.AppMain.main(AppMain.Java:147)
Caused by: Java.lang.ClassNotFoundException: org.testng.TestNG
at Java.net.URLClassLoader.findClass(URLClassLoader.Java:381)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:424)
at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:331)
at Java.lang.ClassLoader.loadClass(ClassLoader.Java:357)
... 18 more
私はここに投稿されたソリューションを見つけました: https://intellij-support.jetbrains.com/hc/en-us/community/posts/206597869-Cannot-launch-NGTest-runner-in-IntelliJ-IDEA-2016 -1
TestNGの[構成の実行/デバッグ]の[構成]タブで[プロジェクト全体]([単一モジュール]を選択)を選択することで機能しました。
ただし、以前の構成はIntelliJ IDEA 15で機能していました。そのため、私にとっては、新しいIDEでの重大な変更によるものと思われます。
それは私のために働いた。
次の手順に従ってください。
プロジェクトのビルドパスJava)からTestNG
ライブラリを追加します。
project
を右クリックし、-> Build path -> Configure build path -> Libraries tab -> Add library -> Choose TestNG
およびapply
を右クリックします。
TestNGクラスを作成し、testng.xml
ファイルを実行すると動作します。
そのクラスのプロジェクト-> testNG-> create testNG class -> give the details
およびcreate one method
を右クリックして、ファイルを実行します。