Я пытаюсь протестировать асинхронный обратный вызов на Android с помощью mockito в модульном тесте. Мой тест в настоящее время выглядит так:
CallbackClass callbackMock = mock(CallbackClass.class);
MyClass.init(callbackMock);
verify(callbackMock, timeout(5000).times(1)).onSuccess(true);
Метод init выполняет AsyncTask в фоновом режиме. Тема начинается с:
executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
Этот код выполняется, но doInBackground
никогда не вызывается в тесте. В результате обратный вызов никогда не вызывается.
Когда я вызываю метод init вне теста, асинхронный вызов работает. То же самое для инструментального теста. Есть ли какие-либо ограничения для асинхронных задач в модульных тестах или я что-то упустил?