что будет Kotlin эквивалентным этому Java-коду?
doAnswer(new Answer() {
@Override
public Object answer(InvocationOnMock invocation) throws Throwable {
Design design = new Design();
GetDesign.Listener callback = (GetDesign.Listener) invocation.getArguments()[0];
callback.onSuccess(design);
return null;
}
}).when(someRepository).getDesign(any(GetDesign.Listener.class));
[ОБНОВЛЕНИЕ] Попробовав несколько вариантов, я наконец-то заставил его работать, используя mockito-kotlin. Я думаю, что наиболее удобный способ реализации doAnswer
. Синтаксис остается практически неизменным:
doAnswer {
callback = it.arguments[0] as GetDesign.Listener
callback.onSuccess(Design())
null
}.whenever(someRepository).execute(any(GetDesign.Listener::class.java))
Полный код и конфигурацию build.gradle можно найти здесь here