我試圖爲我的項目創建單元測試。 在我的單元測試類中我有兩個方法testCalculate()和testLogin()。方法testCalculate()運行正常,這意味着測試通過了,我得到了正確的測試結果。未在單元測試中調用的監聽器
但問題是TESTLOGIN(),我希望我的代碼將在監聽器裏打印的東西,但它從來沒有printed.Meaning,我從來沒有得到這條線
System.out.println("Login success ======= " + response.getResponseObject());
我的登錄方法,我想測試自己運行良好,這意味着如果我在我的真實應用程序中使用它,它將成功登錄並返回從服務器獲得的一些數據。
請注意什麼是可能的原因,使我的聽衆不能在單元測試中工作。真的很感謝任何幫助。
@RunWith(RobolectricTestRunner.class)
@Config(manifest = Config.NONE)
public class LoginManagerTest {
private static final String TAG = LoginManagerTest.class.getCanonicalName();
private String usernameStr = "[email protected]";
private String passwordStr = "********";
private LoginManager loginManager;
@Test
public void testLogin() throws Exception {
ResponseHandlerListener<String> listener = new ResponseHandlerListener<String>() {
@Override
public void onReceive(AxonResponse<String> response) {
System.out.println("Login success ======= " + response.getResponseObject());
String loginSuccess = Constants.LOGIN_SUCCESS;
assertEquals(TAG, loginSuccess, response.getResponseObject());
}
};
Context context = Robolectric.getShadowApplication().getApplicationContext();
loginManager = new LoginManager(context);
loginManager.login(usernameStr, passwordStr, null, listener);
}
@Test
public void testCalculate() throws Exception {
Context context = Robolectric.getShadowApplication().getApplicationContext();
loginManager = new LoginManager(context);
int num = 5;
int sum = loginManager.calculate(num);
System.out.println("sum = " + sum);
assertEquals(10, sum);
}
}
嗨南,您的回覆我也想你的建議,也試過這個解決方案,在這個線程提及,但仍然沒有運氣,謝謝,我還沒有得到任何從我的聽衆 - > http://stackoverflow.com/questions/16816600/getting-robolectric-to-work-with-volley –
@VierdaMilaNartila檢查我更新的答案,只是想法,因爲我沒有測試過它。祝你好運! – NamNH