Я пытаюсь смоделировать возврат следующей функции с помощью mockk, но это всегда вызывает реальный метод. что я делаю не так?
Ниже приведены примеры того, как я это сделал:
файл MakeCall.kt и ни один класс не объявлен с kotlin:
@File:JvmName("MakeCall")
package com.foo
fun <T> makeCall(call : () -> T) : Single<T> {
return anyFunction(call)
}
ViewModelFile .kt
class ViewModelFile(val repository: Repository) : ViewModel() {
fun loadData() {
makeCall { repository.loadData() }.flatMap...
}
}
И в моем тестовом классе я пробовал это:
mockkStatic("com.foo.MakeCall")
val repository: Repository = mockk()
val viewModel = ViewModel(repository)
@Test
fun makeTest() {
every ...
every { makeCall { repository.loadData() } } returns Single.just(listOf<Example>())
viewModel.loadData().test()...
}