Jan*_*usz 6 android unit-testing
在模拟器上运行我的Android测试时,我得到以下堆栈跟踪:
java.lang.NoClassDefFoundError: client.HttpHelper
at client.Helper.<init>(Helper.java:14)
at test.Tests.setUp(Tests.java:15)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:164)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:151)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:425)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1520)
Caused by: java.lang.IllegalAccessError: cross-loader access from pre-verified class
at dalvik.system.DexFile.defineClass(Native Method)
at dalvik.system.DexFile.loadClass(DexFile.java:193)
at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:203)
at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
... 11 more
Run Code Online (Sandbox Code Playgroud)
我从一个额外的项目中运行我的测试.从其他项目加载类似乎存在一些问题.我之前已经进行了测试,但现在他们失败了.测试项目没有问题.
助手班的第14行是:
this.httpHelper = new HttpHelper(userProfile);
Run Code Online (Sandbox Code Playgroud)
我启动了一个负责执行httpqueries的HttpHelper类.我觉得这个助手类不再可用,但我不知道为什么.
小智 4
我遇到了同样的问题,但就我而言,我将库引用添加到应用程序和测试项目中。
通过从测试项目中删除对库的引用并仅保留对应用程序项目的引用,问题得到了解决。java.lang.IllegalAccessError 异常和消息“类已被意外的 DEX 解析”是帮助解决此问题的线索。
| 归档时间: |
|
| 查看次数: |
6245 次 |
| 最近记录: |