非同期処理のテストをする場合はRobolectric.runBackgroundTasks()を実行するだけではだめ。 それだとonPostExecuteが呼ばれないため。runUiThreadTasksも呼ぶ必要がある。
AsyncTask task = ...;
task.execute();
Robolectric.runBackgroundTasks();
Robolectric.runUiThreadTasks();
参考:
非同期処理のテストをする場合はRobolectric.runBackgroundTasks()を実行するだけではだめ。 それだとonPostExecuteが呼ばれないため。runUiThreadTasksも呼ぶ必要がある。
AsyncTask task = ...;
task.execute();
Robolectric.runBackgroundTasks();
Robolectric.runUiThreadTasks();
参考: