我目前正在为我的项目实现Android的Fest,但我似乎遇到了依赖问题.如果我在没有包含Fest库的情况下运行测试,测试将正常运行.一旦我添加了Fest库,那么测试就不再运行了.而是抛出异常.
我的项目使用以下依赖项:
compile files('libs/robotium-solo-5.1.jar')androIDTestCompile 'com.squareup:fest-androID:1.0.8'androIDTestCompile 'com.Google.code.gson:gson:2.2.4'androIDTestCompile 'com.jayway.androID.robotium:robotium-solo:5.1'androIDTestCompile 'com.Google.mockwebserver:mockwebserver:20130706'androIDTestCompile 'com.Google.dexmaker:dexmaker:1.0'androIDTestCompile('com.Google.dexmaker:dexmaker-mockito:1.0') { exclude module: 'hamcrest-core' exclude module: 'objenesis' exclude module: 'mockito-core'}androIDTestCompile 'org.mockito:mockito-all:+'
我已经尝试排除我在下面列出的Fest AndroID依赖项,但它对测试的运行没有影响.
androIDTestCompile ('com.squareup:fest-androID:1.0.8') { exclude group: 'com.Google.androID', module: 'androID' exclude group: 'com.Google.androID', module: 'support-v4' exclude group: 'org.easytesting', module: 'fest-assert-core'}
这是在包含Fest库的情况下运行测试时发生的异常.
junit.framework.AssertionFailedError: Exception in constructor: testClickActionbarItems (java.lang.NoClassDefFoundError: com.example.androID.activitIEs.SectionsActivityat com.example.androID.test.activitIEs.SectionsEspressoTests.<init>(SectionsEspressoTests.java:21)at java.lang.reflect.Constructor.constructNative(Native Method)at java.lang.reflect.Constructor.newInstance(Constructor.java:417)at junit.runner.BaseTestRunner.getTest(BaseTestRunner.java:118)at androID.test.AndroIDTestRunner.getTest(AndroIDTestRunner.java:148)at androID.test.AndroIDTestRunner.setTestClassname(AndroIDTestRunner.java:56)at androID.test.suitebuilder.TestSuiteBuilder.addTestClassByname(TestSuiteBuilder.java:80)at androID.test.InstrumentationTestRunner.parseTestClass(InstrumentationTestRunner.java:444)at androID.test.InstrumentationTestRunner.parseTestClasses(InstrumentationTestRunner.java:425)at androID.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:370)at com.Google.androID.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.onCreate(GoogleInstrumentationTestRunner.java:114)at androID.app.ActivityThread.handleBindApplication(ActivityThread.java:4382)at androID.app.ActivityThread.access00(ActivityThread.java:141)at androID.app.ActivityThread$H.handleMessage(ActivityThread.java:1294)at androID.os.Handler.dispatchMessage(Handler.java:99)at androID.os.Looper.loop(Looper.java:137)at androID.app.ActivityThread.main(ActivityThread.java:5041)at java.lang.reflect.Method.invokeNative(Native Method)at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:560)at dalvik.system.NativeStart.main(Native Method))at androID.test.AndroIDTestRunner.runTest(AndroIDTestRunner.java:190)at androID.test.AndroIDTestRunner.runTest(AndroIDTestRunner.java:175)at androID.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)at com.Google.androID.apps.common.testing.testrunner.GoogleInstrumentationTestRunner.onStart(GoogleInstrumentationTestRunner.java:167)at androID.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1661)
任何帮助或建议将不胜感激.
解决方法:
你有两个问题:
>您正在为项目编译两个版本的robotium,因此您可以删除其中一个版本.
> FEST-AndroID已经依赖于support-v4库,因此您需要排除这一点,就像您从’dexmaker-mockito’依赖项中排除’hamcrest-core’一样.您可以从@L_403_1@查看其所有依赖项.
我建议您对依赖项进行以下更改.
// Testing librarIEsandroIDTestCompile('com.squareup:fest-androID:1.0.8') { exclude module: 'support-v4'}androIDTestCompile('com.Google.code.gson:gson:2.2.4')androIDTestCompile('com.jayway.androID.robotium:robotium-solo:5.1')androIDTestCompile('com.Google.mockwebserver:mockwebserver:20130706')androIDTestCompile('com.Google.dexmaker:dexmaker:1.0')androIDTestCompile('com.Google.dexmaker:dexmaker-mockito:1.0') { exclude module: 'hamcrest-core' exclude module: 'objenesis' exclude module: 'mockito-core'}androIDTestCompile('org.mockito:mockito-all:+')
正如您所看到的,我已经删除了您拥有的额外robotium依赖项,并且我还排除了模块“support-v4”.希望这应该让你立刻回来运行测试! 总结
以上是内存溢出为你收集整理的Android测试java.lang.NoClassDefFoundError由于Fest-Android导致的错误全部内容,希望文章能够帮你解决Android测试java.lang.NoClassDefFoundError由于Fest-Android导致的错误所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)