Как улучшить модульное тестирование кода Looper и Handler на Android?

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

Все в порядке, пока я не захочу написать более одного тестового метода.

Проблема в том, что Looper, похоже, не предназначен для выхода и перезапуска в одном потоке, поэтому я вынужден делать все мое тестирование в рамках одного метода тестирования.

Я просмотрел исходный код Looper и не смог найти способ обойти его.

Есть ли другой способ проверить мой код Hander / Looper? Или, может быть, какой-нибудь более удобный для тестирования способ написать мой класс фоновой задачи?

13
задан Marcelo Camelo 7 September 2010 в 05:23
поделиться