【问题标题】:How to use PowerMock on android sdk如何在 android sdk 上使用 PowerMock
【发布时间】:2017-08-11 03:06:13
【问题描述】:

我想为我的 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: Failed resolution of: Ljava/beans/Introspector;”在 PowerMock...

似乎 android sdk 已经删除了 java.beans 中的一些类。* https://developer.android.com/reference/java/beans/package-summary.html

如何模拟或伪造静态方法返回值?

非常感谢。

【问题讨论】:

标签: java android unit-testing android-instrumentation


【解决方案1】:

尝试使用旧版本

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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-04
    • 2017-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-29
    • 1970-01-01
    相关资源
    最近更新 更多