安卓 java。在Netbeans中运行JUnit测试时lang.NoClassDefFoundError
我正在用Netbeans构建一个Android hello world应用程序。它正在正确构建,我也能够在模拟器中运行
但是在创建和运行Junit测试时,我得到一个java.lang.NoClassDefFoundError
我如何解决这个问题
你可以在下面搜索框中键入要查询的问题!
我正在用Netbeans构建一个Android hello world应用程序。它正在正确构建,我也能够在模拟器中运行
但是在创建和运行Junit测试时,我得到一个java.lang.NoClassDefFoundError
我如何解决这个问题
# 1 楼答案
检查测试项目的清单,例如)
HelloWorldTest/AndroidManifest.xml
。instrumentation
标记的android:targetPackage
属性应该以应用程序中的包为目标,例如com.example.helloworld
不是测试项目的测试包(例如^{# 2 楼答案
简单地说,主应用程序的
AndroidManifest.xml -> manifest -> package
应该与测试应用程序的AndroidManifest.xml -> manifest -> instrumentation -> android:targetPackage
匹配# 3 楼答案
完整的错误消息包含在类路径上找不到的类的名称。仔细检查用于运行测试的类路径是否包括所有必需的类和库(您的类文件、junit.jar、特定于android的库)
# 4 楼答案
我发现重建通常会找到类(因为这是一个类路径问题)。Netbeans似乎积极地编译现有的测试,但主源代码(至少来自maven设置)并不总是可用的
我已经开始运行完整版本来尝试解决这个问题。可能有一个插件可以解决这个问题,但我还没有找到它
编辑:This可能会有帮助
# 5 楼答案
我不知道netbeans的具体情况,但问题可能是相同的
FragmentActivity can not be tested via ActivityInstrumentationTestCase2
您的测试项目可以使用与主项目不同的android兼容性库,这会导致这种奇怪的错误