私はこのようなプレゼンターをテストします:オブザーバーをテストするには?
class MostPopularPresenter @Inject constructor(val mostPopularUseCase: MostPopularUseCase)
: Presenter<MostPopularView>() {
fun requestMostPopular(page: Int, update: Boolean) {
if (page <= 6)
mostPopularUseCase.execute(MostPopularObserver(), MostPopularUseCase.Params.createQuery(page, 15, update))
}
inner class MostPopularObserver : DisposableSingleObserver<MostPopularModel>() {
override fun onSuccess(t: MostPopularModel) {
[email protected]?.populateRecyclerList(t)
}
override fun onError(e: Throwable) {
[email protected]?.showError()
}
}
}
私はオブザーバーを模擬し、成功した場合にエラーまたは戻り値をスローすることを強制的にどのように問題を抱えています。私はmockito/junitを使用しています。誰かがそれを達成する方法を私に指摘することはできますか?多分私のコードはテストできませんか?
私は本当に "thenAnswer"メカニズムが好きです。私はあなたのようにテストを書いた、私は非常にうまく動作します。ありがとうございました! – Hype
これは 'thenAnswer'を使用する意図された方法ではないと思うか、ちょっとハックしただけです。それが私の答えを別のやり方で更新するのに役立ちます – Pelocho