Android-волейбол, как unit test прошел в Listener

У меня есть некоторые запросы, которые я делаю с Android Volley. Поскольку Слушатели делают такие вещи, как включение ответа JSON в объекты, я бы хотел проверить их, чтобы убедиться, что они поступают правильно. Дело в том, что я не очень доволен тем, как проводить модульное тестирование. У меня есть Robolectric с JUnit, но любая помощь будет оценена. Как мне настроить настройку моего теста, чтобы я мог проверить объект Listener, переданный в запрос?

Ответ 1

Достаточно взглянуть на CacheDispatcher:

        Response<?> response = request.parseNetworkResponse(
                new NetworkResponse(entry.data, entry.responseHeaders));

Здесь создается запрос ответа с использованием абстрактного метода parseNetworkResponse (в случае его реализации), а затем:

mDelivery.postResponse(request, response);

который фактически запускает слушателей, если вы вникнете в код. Остальная часть материала связана с потоком. Я бы рекомендовал внедрить простую процедуру тестирования, которая принимает статический NetworkResponse, и вызывает mDelivery postResponse.

Это на самом деле также означает, что вы не могли бы пойти так - достаточно проверить, какой метод (Response.success или Response.error) был вызван - это ваш первый unit test. Во-вторых, просто проверьте своих слушателей.