1
我需要模擬一個Android儀器測試的靜態方法。 如果我需要模擬靜態方法,測試類需要是@RunWith(PowerMockRunner.class)
。但我的儀器測試需要與AndroidJUnit4.class
一起運行。Android儀器測試與PoweMockito
是否有可能有兩個可運行?或者有什麼其他方式可以使用功率模擬來模擬靜態方法嗎?或任何其他選項來模擬靜態類?
我需要模擬一個Android儀器測試的靜態方法。 如果我需要模擬靜態方法,測試類需要是@RunWith(PowerMockRunner.class)
。但我的儀器測試需要與AndroidJUnit4.class
一起運行。Android儀器測試與PoweMockito
是否有可能有兩個可運行?或者有什麼其他方式可以使用功率模擬來模擬靜態方法嗎?或任何其他選項來模擬靜態類?
要處理自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_14,https://stackoverflow.com/a/27956309/624706)