gpt4 book ai didi

java - 使用 Android Studio : NoClassDefFoundError: org/testng/TestNG 进行测试

转载 作者:行者123 更新时间:2023-11-30 10:44:48 26 4
gpt4 key购买 nike

所以我尝试使用内置的 testTool 为我的 mainActivity 生成一些测试,到目前为止,我已经设法生成了一个测试类,并且我在其中得到了空方法来测试 mainActivity 的方法。如果我在覆盖范围内运行 testClass,我会收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/testng/TestNG
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
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:117)
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:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)
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

我不确定这到底是什么意思,有一个类没有定义?

我可能还补充说我补充说:

    task testClasses {
doLast {
println 'This is a dummy testClasses task'
}
}

在我的 sqlite 模块的 build.gradle 文件中,否则我根本无法运行任何测试。

我可能还会在“模块设置”下的“依赖项”选项卡下添加,我确实将“org.testng:testnb:6.9.6”设置为“测试编译”。

这是我的依赖项在我的 gradle 文件中的样子:

dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
testCompile 'junit:junit:4.12'
androidTestCompile 'org.testng:testng:6.9.6'
compile project(':sqlite-jdbc-3.8.11.2')
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.getbase:floatingactionbutton:1.10.1'
compile 'com.android.support:design:23.3.0'
compile 'com.github.PhilJay:MPAndroidChart:v2.1.6'
compile 'com.android.support:support-v4:23.3.0'
compile 'com.numetriclabz.numandroidcharts:numandroidcharts:1.0.13'
}

编辑:我看到 Android Studio 还创建了一个 ExampleUnitTest 文件,如果我将我的测试用例添加到该文件并运行它们,它就可以正常工作。问题似乎只在我尝试运行整个 MainActivityTest 类时出现,但个别方法似乎可以测试。

最佳答案

检查你的模块结构。可能您的高级模块文件夹之一没有依赖项。 (您可以将模块链接在一起,一切都应该有效)。

转到 -> 文件|项目结构|模块|*您的模块*|依赖项。这不是 TestNG 问题,而是模块结构问题。

更详细的描述点击这里 -> Link

关于java - 使用 Android Studio : NoClassDefFoundError: org/testng/TestNG 进行测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37319185/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com