我想为我的 android 项目编写一些单元测试和仪器测试。
然而,我遇到了一个困扰我一段时间的问题...... 我需要模拟一个静态方法并伪造返回值来测试项目。
经过一些论坛的调查,唯一的方法是使用 PowerMock 来模拟静态方法。
这是我的 gradle 的一部分:
androidTestCompile "org.powermock:powermock-module-junit4:1.7.0"
androidTestCompile "org.powermock:powermock-module-junit4-rule:1.7.0"
androidTestCompile "org.powermock:powermock-api-mockito:1.7.0"
和我的测试类:
@RunWith(PowerMockRunner.class)
public class MyClassTest {
...
}
然后我得到“java.lang.NoClassDefFoundError:解析失败:Ljava/beans/Introspector;”在 PowerMock 中……
看来 android sdk 已经删除了 java.beans 中的一些类。* https://developer.android.com/reference/java/beans/package-summary.html
如何模拟或伪造静态方法的返回值?
非常感谢。
最佳答案
尝试使用旧版本
def powermock_version="1.6.6" androidTestCompile "org.powermock:powermock-module-junit4:$powermock_version" androidTestCompile "org.powermock:powermock-module-junit4-rule:$powermock_version" androidTestCompile "org.powermock:powermock-api-mockito:$powermock_version"
关于java - 如何在android sdk上使用PowerMock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45626317/