Как выполнить модульное тестирование RxJava Completable.error на Android - PullRequest
0 голосов
/ 05 декабря 2018

У меня есть функция, которая возвращает Completable, который возвращает Completable.error(RuntimeException("message")) в случае сбоя другой функции или Completable.complete(), если нет.

Я пытался написать для этого модульный тест и посмотреть, что поток идетправильно к коду ошибки и успеха, но в моем тесте я не могу различить их, используя

underTest.unregisterFromService().test().assertComplete().assertNoErrors()

Кто-нибудь знает, как можно проверить значение Completable.error() в модульном тесте?

Ответы [ 2 ]

0 голосов
/ 21 января 2019

Я верю, что вы ищете

yourCompletable
    .test()
    .assertErrorMessage("your error message")
0 голосов
/ 06 декабря 2018

Для этого существует assertError, в большинстве случаев используется версия, которая принимает тип Thorwable в качестве параметра из документов:

Утверждает, что этот TestObserver / TestSubscriber получилровно одно событие onError, которое является экземпляром указанного класса errorClass.

Использование:

yourCompletable
    .test()
    .assertError(RuntimeException::class.java)

Здесь вы можете найти три версии assertError.

...