我想在Android应用程序中为此LoginHandler类创建单元测试:
public class LoginHandlerImpl{
int test=0;
public void tryLogin(String username, String password) {
LoginDataSchema loginData = new LoginDataSchema();
loginData.setUsername(username);
loginData.setPassword(password);
serviceAPI mApi = ApplicationCompositionRoot.getIstance().getserviceAPI();
mApi.tryLogin(loginData).enqueue( new Callback<LoginResponseSchema>() {
@Override
public void onResponse(Call<LoginResponseSchema> call, Response<LoginResponseSchema> response) {
if (response.isSuccessful()) {
int errorCode = response.body().getErrorCode();
if (errorCode == LoginResponseSchema.LOGIN_SUCCESS) {
test=1;
}
else
{
test=2;
}
} else {
test=3;
}
}
@Override
public void onFailure(Call<LoginResponseSchema> call, Throwable t) {
test=3;
}
});
}
}
我使用Postman Mock服务器进行测试,并重写了RetrofitApi网址以调用模拟服务器。 我确实测试了它们,它们应该是正确的,但是当我尝试该测试时:
public class LoginHandlerTest {
@Test
public void tryloginTest(){
LoginHandlerImpl loginHandler=new LoginHandlerImpl();
loginHandler.tryLogin("test","test");
assertEquals(1,loginHandler.test);
}
}
不运行Callback,loginHandler.test保持为0。 我在互联网上搜索,但找不到任何东西。