Непонятно, почему у вас есть PublishSubject
в методе loadData()
, который недоступен извне, поэтому он не может быть запущен в его текущей форме.
Вы можете заменить его на BehaviorSubject
, который содержит начальное значение:
fun loadData() {
val subject = BehaviorSubject.createDefault(true) // <----------------
subject.subscribe {
if(it) {
view.onSuccess()
} else {
view.onError()
}
}
useCase.loadDataFromServer(subject)
}
@Test
fun load_Data_From_Server_Success_Test() {
presenter.loadData()
verify(view).onSuccess()
}
или выставьте субъект в поле и назовите onNext
на нем из метода теста
val subject = PublishSubject.create();
fun loadData() {
subject.subscribe {
if(it) {
view.onSuccess()
} else {
view.onError()
}
}
useCase.loadDataFromServer(subject)
}
@Test
fun load_Data_From_Server_Success_Test() {
presenter.loadData()
subject.onNext(true) // <-----------------------------------------
verify(view).onSuccess()
}