NoClassDefFoundError:org/testng/TestNG

Ant*_*ton 10 java ide testng

这个错误

NoClassDefFoundError:org/testng/TestNG

当我尝试使用IntelliJ IDEA从Testng.xml文件运行我的测试时出现.逐个运行我的测试工作完美,以及运行整个gradle项目,指向testng.xml,如grade core-test:test

(在我的项目中,我使用的是Appium + IntelliJ + TestNG)

但是当我使用IntelliJ运行testng.xml时,我在按下Run后立即收到此消息:

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
Run Code Online (Sandbox Code Playgroud)

Jus*_*son 7

我在这里找到了一个解决方案: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的重大变化.

它对我有用.


AP2*_*P22 7

添加屏幕截图以帮助Justin回答上述问题。默认值为“单个模块”,需要更改为“整个项目”


Zeu*_*eus 5

对我来说有点不同,我使用 testng 配置文件来运行 testng 套件。我是从父模块而不是子模块运行它。以下是我为克服该错误所做的事情

测试失败