У меня есть функция, которая принимает обратный вызов и возвращает событие в зависимости от результата.
override fun startLocal(callback: (eventType: EventType) -> Unit) {
pickingSDK.startPicking(tripInfo) {
when (it.eventName) {
Events.CONFIRM_CHECKOUT -> callback.invoke(PickingEventType.CONFIRM)
Events.ERROR -> callback.invoke(EventType.ERROR)
Events.PICK_CANCEL -> callback.invoke(EventType.CANCEL)
}
}
}
Проблема в том, как мне запускать callback.invoke(PickingEventType.CONFIRM)
при выполнении модульных тестов с использованием Mockito. Я сделал что-то подобное, но это не работает
doAnswer {
val argument = it.arguments[0]
val callback = argument as ((eventType: EventType) -> Unit)
callback.invoke(EventType.CONFIRM)
null
}.`when`(myClass).startLocal { ArgumentMatchers.any()}
verify(view).goToPickup() // is called if event is EventType.CONFIRM
Но обратный вызов не запускается. Пожалуйста, помогите