Я пытаюсь добиться чего-то похожего на это: Как вызвать лямбда-вызов с помощью mockk
Я передаю поддельную услугу своему реальному объекту. Как я могу получить обратный вызов myService.get? Этот код никогда не вызывается, и мой тест останавливается на этом запросе.
Вот пример кода:
class MyObject(private val myService: MyService){
fun getSomeStuff() {
myService.get(object: MyService.Callback<MyServiceResponse>{
override fun onResponse(response: MyServiceResponse?) {
// check response and do some stuff
// I want to continue my tests here, but this gets never called
}
})
}
Как создать тест, который продолжается внутри обратного вызова?
Вот что я искал ie в моем тесте:
@Test
fun `get some stuff - success`() {
val myService = mockk<MyService>() {
every { get(any()) } answers {
firstArg<() -> MyService.Callback<MyServiceResponse>>().invoke()
}
}
val myObject = MyObject(myService)
myObject.getSomeStuff()
}