我有一个函数,它返回一个Completable,如果另一个函数失败,它将返回Completable.error(RuntimeException("message"))
,如果没有,则返回Completable.complete()
。
我试图为此编写一个单元测试,并查看流是否正确地进入错误和成功代码,但在我的测试中,我无法使用区分它们
underTest.unregisterFromService().test().assertComplete().assertNoErrors()
有人知道在单元测试中如何检查Completable.error()
值吗?
我相信您正在寻找的是
yourCompletable
.test()
.assertErrorMessage("your error message")
有一个assertError
,大多数情况下使用以Thorwable
的类型为参数的版本,来自文档:
断言此TestObserver/TestSubscriber正好接收到一个onError事件,该事件是指定errorClass类的实例。
用法:
yourCompletable
.test()
.assertError(RuntimeException::class.java)
在这里您可以找到assertError
的三个版本。