日々精進

新しく学んだことを書き留めていきます

RobolectricでAsyncTaskのテストを行った時に、onPostExecuteが実行されない

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

AsyncTask task = ...;
task.execute();
Robolectric.runBackgroundTasks();
Robolectric.runUiThreadTasks();

参考: