RxJava:如果返回 Single 的函数抛出异常,如何捕获错误?

问题描述

我在下面有这个功能

    fun setDefaultUser(): Completable {
        return userRepository.getUser()
            .flatMapCompletable { user ->
                setDefaultUser(user)
            }
            .doOnError {
                Timber.e(it,"Setting default user Failed")
            }
    }

userRepository.getUser() 返回 Single<User>

我在下面有一个单元测试:

    @Test
    fun `Given userRepository getUser throws an error,when executed,return the error`() {
        whenever(userRepository.getUser()).thenThrow(RuntimeException())

        val observable = systemUnderTest.setDefaultUser().test()

        observable.assertError(RuntimeException::class.java)
    }

我希望能够捕获 .doOnError 块内的异常,但它不起作用。

在这里做错了什么?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)