Таким образом, чтобы вкратце сказать, можете ли вы издеваться над методом, который находится в SUT, при этом, если не весь SUT быть насмешкой? Я пытаюсь выполнить модульное тестирование метода, который вызывает другой метод, в то время как я хочу только проверить, что метод был вызван, а не вызывать его на самом деле.
fun foo(){
if(somelogic) {bar()}
}
Теперь бар делает свое дело, чего я не хочу быть выполненным. Я просто хочу, чтобы это назвали. Могу ли я каким-то образом посмеяться над методом bar?
У Mockito есть что-то, что может сделать это
Mockito.`when`(b()).thenReturn(true)
Имеет ли mockk https://mockk.io/#returning -unit что-нибудь подобное? Это весь код
fun fetchDrillTypes() {
val list = ArrayList<DrillsType>()
viewModelScope.launch(io) {
compositeDisposable += repository.loadDrillTypes()
.subscribeWith(object : DisposableObserver<DrillsType>() {
override fun onError(e: Throwable) {
Log.d("TAG", "error " + e?.message)
}
override fun onNext(data: DrillsType) {
list.add(data)
}
override fun onComplete() {
Log.d("TAG", "COMPLETE")
updateImages(list) /// I WANT THIS TO BE CALLED BUT NOT EXECUTED
}
})
}