Я пытаюсь использовать новые AndroidJUnitRunner и JUnit4 для Android, и все мои тесты на эспрессо были легко конвертированы, но теперь мои тесты загрузчика не работают. Мои загрузчики требуют обработчика, для которого требуется UiThread, а интерфейс загрузчика не имеет возможности синхронно запрашивать его.Как протестировать CursorLoader с AndroidJUnitRunner и JUnit4?
@UiThreadTest
@Test
public void testContactLoader() {
ContactLoader loader = new ContactLoader(InstrumentationRegistry.getTargetContext());
Cursor = getLoaderResultSynchronously(loader); // I don't know how to implement this function
// assert stuff
}
Кто-нибудь это сделал? Я увидел странную реализацию here, но я не уверен, как это работает.
В итоге я просто пытался избавиться от погрузчиков, используя RxJava. Я увижу, работает ли Looper.prepare(). Я думал, что вы можете назвать это только один раз, или это вызовет исключение, поэтому я не думал, что это сработает. – Buttink