I try to achieve something similar to this: How to call a lambda callback with mockk
I pass a mocked service to my real object. How can I get the myService.get callback called? This code gets never called and my test stops at this request.
Here is some sample code:
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
}
})
}
How can I create a test that continues inside the callback?
Here is what I trie in my test:
@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()
}