Как проверить приватную функцию внутри наблюдателя RxSwift? - PullRequest
0 голосов
/ 12 апреля 2020
observable.subscribe(onNext: { _ in
    somePrivateFunction()
})

Как RxSwift может проверить, что когда observable получает событие, на самом деле вызывается somePrivateFunction или нет? Так как подписка и функция находятся в одном классе, я не могу их издеваться.

1 Ответ

0 голосов
/ 13 апреля 2020

Вам необходимо проверить, размещены ли какие-либо логики c в подписке, которые могут блокировать вызов этой функции. Если есть - может быть стоит извлечь его в параметр (например, фильтр), чтобы logi c мог быть частью самого потока.

Я предполагаю, что наблюдаемый (источник) вводится / перенаправляется из другого компонента (если это не так, скорее всего, так и должно быть). Чтобы смоделировать этот сигнал, вы можете использовать TestableObservable, вы можете прочитать больше здесь: http://adamborek.com/rxtests-rxactionsheet/

Последнее, но не менее важное - вам нужно определить, какое действие somePrivateFunction() делает. Если он устанавливает некоторые внешние значения - тогда вы можете проверить это исходящее соединение с помощью этой функции. Если он устанавливает некоторые внутренние флаги - вы можете проверить, изменилось ли значение этого флага.

...