У меня возникли проблемы с получением основной линии пользовательского интерфейса внутри тестовой пробы robolectric (версия 1.1). Применение метода я тестирование имеет следующую проверку в нем:Получение доступа к потоку пользовательского интерфейса с использованием robolectric
if (Thread.currentThread() != Looper.getMainLooper().getThread()) {
throw new IllegalStateException(
"This method should be called from the Main UI Thread");
}
}
Эта проверка не выполняется, когда вызывается следующим образом:
@Test
public void maTest() {
Runnable task = new Runnable() {
@Override
public void run() {
adapter.testThreadPrecondition();
}
};
new Handler(Looper.getMainLooper()).post(task);
}
попытался также «runOnUiThread», и получил такую же проверку на провал , Что происходит? разные основные петлители?
также попытался с AsyncTask, но внутри ничего «onPostExecute», кажется, дозвонились (или вызывается, но не тихо) task.execute(); Robolectric.getBackgroundScheduler(). RunOneTask(); Robolectric.getUiThreadScheduler(). RunOneTask(); – chris
когда-либо находил решение этого? – theV0ID
печально нет, я удалил тесты вместо этого. – chris