如何在Android上对RxJava Completable.error进行单元测试



我有一个函数,它返回一个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的三个版本。

最新更新