У кого-нибудь было удачное тестирование модульных тестов для AsyncTaskLoaders в Robolectric? Я попробовал модифицированную версию этого example for AsyncTask, но он не проявляет такого же поведения. В частности, onLoadFinished
никогда не вызывается. Существуют ли какие-либо обоснованные примеры для тестирования Loaders с Robolectric?Тестирование AsyncTaskLoaders с Robolectric
ответ
Не используйте погрузчики. Их непросто проверить, и они тесно связаны с фрагментами и действиями, которые их используют. Вместо этого используйте RxJava Observables для ваших асинхронных потоков данных. Вы можете отключить планирование и протестировать их синхронно в своих модульных тестах. Это намного чище и гораздо более прямолинейно.
Есть ли у вас какие-либо примеры для обмена? Я смотрю специально для части «развязывающего планировщика». Вы делаете что-то по-другому в своем коде при подписке, например, накладываете общий планировщик? Или есть отличный метод, просто говорит Rxjava выполнить все в указанном потоке? –
Я передаю SchedulerFactory для классов, которые в ней нуждаются, и в процессе производства я передаю асинхронные планировщики (io, newThread и т. Д.) Для своих соответствующих вызовов в заводских методах, тогда как в модульных тестах все вызовы возвращают текущий поток для всех звонки. Вы можете передать планировщик наблюдаемому. –
Я просто разместил так, как я получил его на работу в билете стека: Testing a CursorLoader with Robolectric & Mockito
Она включает в себя написание пару дополнительных теневых классов. Я могу вставить исправление здесь, если будет запрошено, но я не был уверен, что соглашение было для дублированного ответа.
- 1. Тестирование предпочтенияАктивность с Robolectric
- 2. Тестирование асинхронных задач с robolectric
- 3. Android http-тестирование с Robolectric
- 4. Тестирование CursorLoader с Robolectric & Mockito
- 5. Тестирование My MapActivity с robolectric
- 6. Тестирование Android DecimalFormat с Robolectric
- 7. Android. Robolectric. Тестирование результатов AccountManager
- 8. Robolectric 3.0 тестирование Обслуживание вибратора
- 9. Модульное тестирование RecyclerView OnItemTouchListener Robolectric
- 10. Тестирование с помощью Robolectric и ANT
- 11. Тестирование мнений фрагмента с Robolectric 3.0
- 12. Тестирование okHttp-запросов с Robolectric - обратные вызовы
- 13. Тестирование с помощью SugarORM и Robolectric
- 14. Тестирование фрагментов с помощью Robolectric 3.0
- 15. Тестирование библиотеки Android с помощью Robolectric
- 16. Тестирование модуля ActiveAndroid с использованием Robolectric
- 17. Тестирование элементов навигации с помощью Robolectric 3.0+
- 18. Тестирование API Google Play Service с Robolectric
- 19. Тестирование ViewPager (и CursorLoader) с помощью Robolectric
- 20. Тестирование процедур обработки изображений с robolectric
- 21. Использование MockWebServer с Robolectric
- 22. Тестирование активности Android с помощью Robolectric, дублированного поставщика Otto
- 23. Тестирование модулей с robolectric и mockito для модификации в android
- 24. Тестирование на Android с помощью Robolectric: не распознавание Facebook SDK
- 25. Android: Как запустить тестирование PUT Mutation с помощью Robolectric?
- 26. Тестирование Android в Android Studio с использованием Robolectric issue
- 27. Модульное тестирование Realm + Dagger 2 с Robolectric & Mockito
- 28. Тестирование устройства с помощью robolectric дает ошибку NoSuchMethodException
- 29. Тестирование устройства Android с помощью Retrofit2 и Mockito или Robolectric
- 30. CursorLoaders и AsyncTaskLoaders, используя тот же LoaderManager
Вы нашли решение? – Kuno
К сожалению, нет. –