我目前有各种AndroidTestCases使用Mockito和模块dexmaker-mockito。我现在正在尝试Robolectric使用robolectric plugin. 我的一切运行良好,除了当我尝试在没有争论的情况下模拟方法时,我得到了IllegalArgumentExceptionfrom Dexmaker。删除dexmaker-mockito依赖项并使用模拟版本1.9.0而不是1.9.5会导致错误消失,但会导致我所有的 AndroidTestCases 失败。反正gradle有没有从我的测试用例中dexmaker-mockito排除?robolectric或者有谁知道从android studio运行android单元测试和robolectric单元测试的任何其他方式?
Error:
java.lang.IllegalArgumentException at com.google.dexmaker.mockito.InvocationHandlerAdapter.invoke
更新
我尝试过gradle-android-test-plugin但无法在不更改to的版本并从我的依赖项中删除的情况下robolectric-gradle-plugin摆脱 , 。IllegalArguementExceptionmockitio1.9.0dexmakerdexmaker-mockito
我尝试了该指南,但无法让 Android Studio 识别我的源目录而不将它们添加到破坏我的构建的主要或测试源集,因为 robolectric 没有为那些 gradle 任务编译,我不希望它是。
这次我最终遵循了此处的指南,当我从命令行运行测试时错误消失了,但从我发现奇怪的 android studio 运行时仍然存在。再次将 mockitio 的版本更改为 1.9.0 并从我的 Android 应用程序的依赖项中删除dexmaker,删除了错误。dexmaker-mockito现在,在找到更好的答案之前,我将满足于无法从 android studio 运行单元测试。