1

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

是否有可能有两个可运行?或者有什么其他方式可以使用功率模拟来模拟静态方法吗?或任何其他选项来模拟静态类?

回答

2

要处理自1.4版本以来的情况,可以使用JUnit Rule而不是Runner来引导PowerMock。事情看起来像这样:

@RunWith(AndroidJUnit4.class) 
@PrepareForTest(X.class); 
public class MyTest { 
    @Rule 
    PowerMockRule rule = new PowerMockRule(); 

    // Tests goes here 
    ... 
} 

但要知道,PowerMock正在使用的,需要有人转化为dalvikVM DEX字节码操作。目前还没有工具可以支持(https://groups.google.com/forum/#!topic/powermock/9kwPaWoZ_14https://stackoverflow.com/a/27956309/624706