2013-02-23 20 views

答えて

15

タスクでexecute(...)を呼び出し、結果の呼び出しがRobolectric.runBackgroundTasks()/Robolectric.flushBackgroundThreadScheduler()の場合は、アサートすることができます。 Robolectric 2.4

@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

ありがとうございました!それは解決策です... – StefMa

+0

@biancaはこの答えは受け入れられますか? – weston

7

これはShadowApplicationになりました:

ShadowApplication.runBackgroundTasks();