Как провести модульное тестирование с помощью дооснащения? - PullRequest
0 голосов
/ 28 марта 2019

Я хочу создать модульный тест в приложении 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. Я искал в интернете, но ничего не смог найти.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...