java - 运行时错误 PowerMock + Mockito : ProxyFrameworkImpl could not be located in classpath

标签 java android gradle mockito powermock

我正在尝试将 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 上的单元测试。

关于java - 运行时错误 PowerMock + Mockito : ProxyFrameworkImpl could not be located in classpath,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35228769/

相关文章:

java - 无法理解递归阶乘

java - 如何打印给定字符串中的以下元素?

java - 在 Spark java 中将 JavaRDD 转换为 DataFrame

android - 如何在graphview中自定义网格比例?

java - 处理多个项目时将资源与 gradle 合并的问题

java - 从个人部门迁移到对齐规则

java - 为什么 java 枚举直到类回调被命中之后才构造?

android - 如何确定 ImageView 在 CollapsingToolbar 中是否可见?

android - 为什么 SimpleDateFormat 在 Android 中不起作用?

gradle - 在Gradle中列出依赖的原始声明范围