Тестирование активности Android с помощью асинхронных задач - PullRequest
2 голосов
/ 04 июня 2010

Как создать модульные тесты для операции Android, которая запускает асинхронные задачи в onCreate? Я хотел бы проверить результат этих задач.

Ответы [ 2 ]

1 голос
/ 04 июня 2010

Трудно написать тесты для многих функций Android, так как вы не можете создавать экземпляры классов, таких как Activity, вне Android.

Возможно, вам лучше провести настоящий модульный тест ... протестируйте функцию, поведение которой вы заботитесь обособленно. Не пытайтесь проверить это в контексте асинхронной задачи, действия и т. Д.

Возможно, вам понадобится немного реорганизовать свой код, чтобы иметь возможность это сделать, но стоит иметь тестируемый код!

0 голосов
/ 03 марта 2016

Выполнение тестов истинных единиц, как упомянуто в ответе Шерил, было бы идеальным. Однако, если вы все еще хотите проверить результат AsyncTasks или любую длительную асинхронную операцию в тесте активности, Espresso - серебряная пуля.

Espresso автоматически ожидает завершения AyscTasks, и разработчик может вручную указать Espresso, чтобы он ожидал пользовательских фоновых задач, выполняемых через API IdlingResource.

Вот учебник, который поможет вам начать: http://blog.sqisland.com/2015/04/espresso-custom-idling-resource.html

Документация IdlingResource: http://developer.android.com/reference/android/support/test/espresso/IdlingResource.html

...