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