我正在尝试将PowerMock与Android InstrumentTestCase一起使用由于我的测试在 Android 设备上运行,因此需要将库添加到 apk 中。
我在powermock + mockito和Dex文件中遇到了大问题。我有一个运行时错误,我的依赖项中只有 powermock+mockito:
org.powermock.api.extension.proxyframework.ProxyFrameworkImpl could not be located in classpath.
如果我包含cglib/cglib-nodep(在答案中建议(,则会出现编译错误:
com.android.dex.DexException: Multiple dex files define Lnet/sf/cglib/beans/BeanCopier$BeanCopierKey
这是我的gradle.build的一部分:
androidTestCompile 'com.android.support.test:runner:0.3'
androidTestCompile 'org.powermock:powermock-api-mockito:1.6.4'
androidTestCompile 'org.powermock:powermock-module-junit4:1.6.4'
androidTestCompile 'cglib:cglib-nodep:3.2.0'
androidTestCompile 'cglib:cglib:3.2.0'
我错过了什么?
提前感谢!
我还尝试使用PowerMock进行Android仪器测试,但遇到了同样的问题。
这是我在PowerMock github上找到的内容。
如果您在设备上运行PowerMock,则无法在Android上运行,因为PowerMock使用的是JVM字节代码操作。不过,如果您在 JVM 上运行它,它将起作用。
所以,我想PowerMock只适合在Android上进行单元测试。