Тестирование асинхронных задач с помощью robolectric

Вы знаете, как реализовать модульное тестирование для AsyncTasks с помощью Robolectric? Любые указатели будут оценены.

Solutions Collecting From Web of "Тестирование асинхронных задач с помощью robolectric"

Вызовите execute(...) в задаче, затем дождитесь результата вызова Robolectric.runBackgroundTasks() / Robolectric.flushBackgroundThreadScheduler() после чего вы можете утверждать.

 @Test public void test() { //create task MyAsyncTask asyncTask = new MyAsyncTask(); //start task asyncTask.execute(...); //wait for task code // Robolectric.runBackgroundTasks(); (pre 3.0) Robolectric.flushBackgroundThreadScheduler(); //from 3.0 //can run asserts on result now assert...(asyncTask.get()); } 

С Robolectric 2.4 это теперь в ShadowApplication :

ShadowApplication.runBackgroundTasks();