运行时错误 PowerMock + Mockito:无法在类路径中找到 ProxyFrameworkImpl
Runtime error PowerMock + Mockito: ProxyFrameworkImpl could not be located in classpath
我正在尝试将 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(在 answers 中建议),则会出现编译错误:
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 won't work on Android if you run it on a device since PowerMock is using JVM byte code manipulation. It will work if you run it on a JVM though.
所以,我猜 PowerMock 只适用于 Android.
上的单元测试
我正在尝试将 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(在 answers 中建议),则会出现编译错误:
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 won't work on Android if you run it on a device since PowerMock is using JVM byte code manipulation. It will work if you run it on a JVM though.
所以,我猜 PowerMock 只适用于 Android.
上的单元测试