2013-02-23 15 views

Odpowiedz

15

Zadzwoń na execute(...) po wykonaniu zadania, a następnie poczekaj na wywołanie wyniku Robolectric.runBackgroundTasks()/Robolectric.flushBackgroundThreadScheduler(), a następnie możesz potwierdzić.

@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()); 
} 
+0

Dziękujemy! To jest rozwiązanie ... – StefMa

+0

@bianca Czy ta odpowiedź jest do przyjęcia? – weston

7

Z Robolectric 2.4 jest teraz w ShadowApplication:

ShadowApplication.runBackgroundTasks();

Powiązane problemy