0
observable.subscribe(onNext: { _ in
    somePrivateFunction()
})

什么是 RxSwift 方法来测试当observable接收到事件时somePrivateFunction实际是否被调用?由于订阅和函数在同一个类中,我无法模拟它。

4

1 回答 1

1

您需要检查是否有任何逻辑放置在可以阻止调用此函数的订阅中。如果有 - 可能值得将其提取到参数(例如过滤器),以便逻辑可以成为流本身的一部分。

我假设 observable(源)是从另一个组件注入/重定向的(如果不是,很可能应该是)。要模拟您可以使用的信号TestableObservable,您可以在此处阅读更多信息:http: //adamborek.com/rxtests-rxactionsheet/

最后但并非最不重要的一点 - 你需要确定什么样的行动somePrivateFunction()。如果它设置了一些外部值 - 那么您可以从该函数测试该传出连接。如果它设置了一些内部标志 - 您可以测试该标志的值是否已更改。

于 2020-04-13T09:10:50.230 回答