Я исследовал этот вопрос около 3 дней. Я надеялся, что это можно решить с помощью Mockito. К счастью, сегодня я нашел ConcurrentUnit утилиты для тестирования асин c кода.
Мое решение:
val executor = Executors.newSingleThreadExecutor()
lateinit var someClass = SomeClass(executor)
@Test
fun test() {
val waiter = Waiter()
someClass.doSomething(1) { string, int ->
waiter.assertNotNull(string)
waiter.assertEquals(int, 2)
waiter.resume()
}
waiter.await(100, TimeUnit.MILLISECONDS)
}
Спасибо всем за помощь!