Я пытаюсь добавить сопрограммы в наше приложение для Android, но я наткнулся на загвоздку с нашей насмешливой структурой. Мой интерфейс имеет функцию приостановки, например, так:
interface MyInterface {
suspend fun makeNetworkCall(id: String?) : Response?
}
Вот как я пытаюсь убедиться, что код был выполнен в моем модульном тесте
runBlocking {
verify(myInterface).makeNetworkCall(Matchers.anyObject())
}
Когда я делаю это, я получаю следующую ошибку
org.mockito.exceptions.misusing.InvalidUseOfMatchersException:
Invalid use of argument matchers!
2 matchers expected, 1 recorded:
-> at com.myproject.MyTest$testFunction$1.invokeSuspend(MyTest.kt:66)
This exception may occur if matchers are combined with raw values:
//incorrect:
someMethod(anyObject(), "raw String");
When using matchers, all arguments have to be provided by matchers.
For example:
//correct:
someMethod(anyObject(), eq("String by matcher"));
Есть ли другой способ проверить, вызывается ли соответствующий метод при использовании сопрограмм? Любая помощь будет оценена.