我正在开发一个Android应用程序。我的应用程序是基于MVP模式。
因此,当活动的生命周期终止时,将调用演示者的unsubscribe()函数。
unsubscribe()函数刚刚清除了“一次性”。它非常简单,如下所示:
override fun unsubscribe() {
disposable.clear()
}unsubscribe()函数非常简单,所以我以前没有测试过它。但今天,我只想增加代码覆盖率。所以我试着为这个函数编写测试代码。
我的第一次尝试是:
@Test
fun unsubscribeTest() {
mPresenter.unsubscribe()
verify(mockDisposable).clear()
}但我不知道clear()函数是CompositeDisposable类的函数,而不是Disposable接口。
所以我不能用它来模仿。
发布于 2019-02-19 09:47:14
我用disposable.size()解决了这个问题。
我将disposable更改为可设置/可注入的。
结果是:
@Test
fun unsubscribeTest() {
val d = CompositeDisposable()
mPresenter.disposable = d
assertEquals(0, mPresenter.disposable.size())
d.add(Observable.just("").subscribe())
assertEquals(1, mPresenter.disposable.size())
mPresenter.unsubscribe()
assertEquals(0, mPresenter.disposable.size())
}https://stackoverflow.com/questions/54759108
复制相似问题