Кому-нибудь удавалось писать модульные тесты для AsyncTaskLoaders в Robolectric? Я попробовал модифицированную версию этого примера для AsyncTask, но он не проявляет такого же поведения. В частности, onLoadFinished
никогда не вызывается. Существуют ли какие-либо обоснованные примеры для тестирования Loaders с Robolectric?
Тестирование AsyncTaskLoaders с Robolectric
Ответ 1
Не используйте Loaders. Их непросто проверить, и они тесно связаны с фрагментами и действиями, которые их используют. Вместо этого используйте RxJava Observables для ваших асинхронных потоков данных. Вы можете отключить планирование и протестировать их синхронно в своих модульных тестах. Он намного чище и гораздо более прост.
Ответ 2
Я только что опубликовал способ, которым я получил его в этом билете: Тестирование CursorLoader с помощью Robolectric и Mockito
Это связано с написанием нескольких дополнительных теневых классов. Я могу вставить исправление здесь, если это запрошено, но я не был уверен, что это соглашение для дублирующего ответа.