单元测试- Android Instrumentation测试与PoweMockito



我需要在android仪器测试中模拟一个静态方法。如果我需要模拟一个静态方法,测试类需要是@RunWith(PowerMockRunner.class)。但是我的仪器测试需要在AndroidJUnit4.class下运行。

有可能有两个可运行的吗?或者是否有其他方法可以使用power mock来模拟静态方法?或者有其他选项来模拟静态类吗?

从1.4版开始,可以使用JUnit规则而不是运行程序来引导PowerMock。如下所示:

@RunWith(AndroidJUnit4.class)
@PrepareForTest(X.class);
public class MyTest {
    @Rule
    PowerMockRule rule = new PowerMockRule();
    // Tests goes here
    ...
}

但是要注意,PowerMock正在使用字节码操作,需要有人将其转换为dalvikVM索引。目前还没有工具支持这一点(https://groups.google.com/forum/#!topic/powermock/9kwPaWoZ_14, https://stackoverflow.com/a/27956309/624706)

最新更新