Я хочу создать модульный тест в приложении 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 url для вызова фиктивного сервера.
Я проверил их, и они должны быть правы, но когда я попробую этот тест:
public class LoginHandlerTest {
@Test
public void tryloginTest(){
LoginHandlerImpl loginHandler=new LoginHandlerImpl();
loginHandler.tryLogin("test","test");
assertEquals(1,loginHandler.test);
}
}
не запускает обратный вызов, а loginHandler.test остается 0.
Я искал в интернете, но ничего не смог найти.