Пользуюсь android.os. Класс обработчика для выполнения задач в фоновом режиме. При модульном тестировании я вызываю Looper.loop ()
, чтобы заставить тестовый поток ждать, пока поток фоновой задачи сделает свое дело. Позже я вызываю Looper.myLooper (). Quit ()
(также в тестовом потоке), чтобы разрешить тестовой нити выйти из цикла
и возобновить логику тестирования.
Все в порядке, пока я не захочу написать более одного тестового метода.
Проблема в том, что Looper, похоже, не предназначен для выхода и перезапуска в одном потоке, поэтому я вынужден делать все мое тестирование в рамках одного метода тестирования.
Я просмотрел исходный код Looper и не смог найти способ обойти его.
Есть ли другой способ проверить мой код Hander / Looper? Или, может быть, какой-нибудь более удобный для тестирования способ написать мой класс фоновой задачи?