繁体   English   中英

如何在 RxSwift 观察者中测试私有 function?

[英]How to test a private function inside an RxSwift observer?

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

什么是 RxSwift 方法来测试当observable接收到事件时somePrivateFunction实际被调用? 由于订阅和 function 在同一个 class 我不能嘲笑它。

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

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

最后但同样重要的是 - 您需要确定somePrivateFunction()执行的操作类型。 如果它设置了一些外部值 - 那么您可以测试来自该 function 的传出连接。 如果它设置了一些内部标志 - 您可以测试该标志的值是否已更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM