Мне нужно убедиться, что для объекта был вызван метод. Итак, я делаю слежку за этим объектом:
obj = spyk(obj)
И затем проверяю, что метод был вызван:
verify(exactly = 1) { obj.f(3) }
Тест не проходит со следующим сообщением об ошибке:
java.lang.AssertionError: Verification failed: call 1 of 1: obj(#2).f(eq(3))) was not called.
Однако я ясно вижу вызываемый метод f
:
- Я могу сломать этот метод в режиме отладки
- Я распечатываю
hello world from f()
в этот метод и увидеть, как он распечатывается.
Как правильно использовать шпионов в mockk?
PS
Я пробовал делать val obj = spyk(obj())
, но получаю lateinit has not been initialized error
потому что мне нужно установить параметр в obj
так:
obj.setDependency(friend)
Но в случае, когда я сначала делаю val obj = spyk(obj())
, а затем вызываю obj.setDependency(friend)
, как я объяснил выше, я получаю lateinit has not been initialized error
Может ли кто-нибудь помочь мне решить эту проблему?