0
試圖讓PowerMockito去這裏用RoboElectric進行Android上的單元測試。我想在測試中調用一個公共方法並驗證一些行爲,但我想更改該類中私有方法的響應。此示例:PowerMockito與RoboElectric私有方法不嘲弄
public class TestPrivate {
public String doTest() {
return test();
}
private String test() {
return "FOO";
}
}
我想運行一個名爲doTest的測試,但使用PowerMockito來更改test()返回的內容。下面我嘗試不起作用,測試()返回「FOO」的時候,我期望我的測試返回「BAR」
@RunWith(RobolectricTestRunner.class)
@PrepareForTest(TestPrivate.class)
public class WebSocketClientTest extends TestCase {
@Test
public void testConnect() throws Exception {
TestPrivate spy = PowerMockito.spy(new TestPrivate());
doReturn("BAR").when(spy, method(TestPrivate.class, "test"));
String response = spy.doTest();
assertEquals("BAR", response);
}
}
幾件事情:
使用RoboElectric測試運行似乎確定與PowerMockito 1.6
這是我gradle這個進口提前
androidTestCompile 'junit:junit:4.11'
androidTestCompile 'org.robolectric:robolectric:2.4'
androidTestCompile 'org.powermock:powermock-mockito-release-full:1.6.0'
謝謝,有關於這個的其他職位,但他們沒有工作,是歲。
謝謝湯姆 - 是的,我不明白賽跑者。這個程序讓我使用電動跑步機進行測試:https://github.com/robolectric/robolectric/issues/1058 – bsautner