JUnit GET запрос с охттп не работает - PullRequest
0 голосов
/ 19 ноября 2018

Я пытаюсь сделать простой запрос GET в рамках модульного теста. У меня есть тестовый файл со следующими переменными:

@Mock
private MoviesActivity mView;

private MoviesPresenter mPresenter;

и setup выглядит следующим образом:

@Before public void setUp() { mPresenter = new MoviesPresenter(mView); }

Я в основном вызываю функцию в классе Presenter, которая вызывает getJson() (показано ниже), но, отлаживая ее, я вижу, что ни onRespone(), ни onFailure() не вызывается. Отладчик идет прямо к return null. Я убедился, что getClient() возвращает правильного клиента и что запрос действителен.

У меня есть OkHttpSingleton. Это GET запрос:

public String getJson(String url, final IResult result) {
    Request request = new Request.Builder()
            .url(url)
            .build();

    getClient().newCall(request).enqueue(new Callback() {
        @Override
        public void onFailure(Call call, IOException e) {
            e.printStackTrace();
        }

        @Override
        public void onResponse(Call call, final Response response) throws IOException {
            if (!response.isSuccessful()) {
                throw new IOException("Unexpected code " + response);
            }

            result.getResult(response.body().string());
        }
    });

    return null;

IResult - это интерфейс, который передается в качестве аргумента. Любой совет будет оценен.

...