【问题标题】:NoClassDefFoundError: org/testng/TestNGNoClassDefFoundError: org/testng/TestNG
【发布时间】:2021-05-08 18:08:13
【问题描述】:

这个错误

NoClassDefFoundError: org/testng/TestNG

当我尝试使用 IntelliJ IDEA 从 Testng.xml 文件运行测试时出现。 一个接一个地运行我的测试以及运行指向testng.xml的整个gradle项目,比如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

【问题讨论】:

  • 我遇到了同样的错误,但看不到解决方案。你弄明白了吗?

标签: java ide testng


【解决方案1】:

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

它对我有用。

【讨论】:

    【解决方案2】:

    添加屏幕截图以帮助贾斯汀在上面的回答。默认是在单个模块中,需要改为在整个项目中

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        按照步骤 - 1.从java构建路径添加TestNG库--进入项目-->右键-->属性-->java构建路径-->第三个选项库。

        1. TestNG - 选择然后应用并关闭

        【讨论】:

          【解决方案5】:

          请按照以下步骤操作:

          1. 在项目的 java 构建路径中添加 TestNG 库。

          2. 右键单击project,然后单击-> Build path -> Configure build path -> Libraries tab -> Add library -> Choose TestNGapply

          3. 创建一个 testNG 类并运行testng.xml 文件,它将起作用。

          4. 右键单击该类中的项目-> testNG-> create testNG class -> give the detailscreate one method,然后运行该文件。

          【讨论】:

            【解决方案6】:

            对我来说,这还是有点不同。我在 2019 年才开始使用 IntelliJ,它一直运行良好,直到圣诞节前后。这是最终修复了我无法运行 IntelliJ 的行为不端的系统(因为我可以在运行相同 IntelliJ 版本的另一个系统上运行来自同一存储库的相同文件)

            必须更改模板 TestNG 以使用测试类型的套件而不是类,然后将其设置为整个项目。 showing where i changed the project to Whole Project

            【讨论】:

              【解决方案7】:

              尝试了这篇文章中提到的所有答案,除此之外,我还必须从“启动前:激活工具窗口以使其工作”部分中删除构建:

              Screen Shot

              【讨论】:

                【解决方案8】:

                我的有点不同,使用 Allure 通过 TestNG 生成报告。在 gradle.build 文件的 Allure 部分,我需要从 2.8.1 -> 2.13.8 升级。由于某种原因,2.8.1 导致 TestNG 的类未找到异常,他们需要对日志记录进行一些改进。

                def allureVersion = "2.13.8"
                
                allure {
                    autoconfigure = true
                    aspectjweaver = true
                    version = allureVersion
                    clean = true
                    useTestNG {
                        version = allureVersion
                    }
                }
                

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-12-29
                  • 2023-03-07
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多