Подтвердить что ты не робот

Как запустить код в потоке пользовательского интерфейса в тесте Android JUnit без Activity?

У меня есть компонент базы данных, который использует AsyncTask для извлечения данных. После использования в приложении он всегда будет вызываться из потока пользовательского интерфейса, но как это сделать в тестах JUnit без создания экземпляра Activity (у меня просто нет активности, и я не должен создавать его только для тестирования)?

runOnUiThread() - это метод активности, поэтому он не является вариантом. Есть ли способ имитировать поток пользовательского интерфейса, получая его из тестовой библиотеки Android или используя MockUiThread?

4b9b3361

Ответ 1

Android.OS.Handler должен иметь возможность обновлять ui.

Чтобы использовать обработчик, вы должны подклассифицировать его и переопределить handleMessage() для обработки сообщений

Обновление:

Я использую monodroid, поэтому я не знаю, полностью ли это переводится, но

Возможно, вы сможете использовать

new Handler(context.getMainLooper()).post(runnable);