gpt4 book ai didi

ios - RxSwift 在模拟的 UserDefaults 上观察测试用例

转载 作者:行者123 更新时间:2023-11-28 07:25:36 26 4
gpt4 key购买 nike

我正在观察 userDefaults 中的值变化

userDefaults.rx.observe(Int.self, option.userDefaultsKey)

对于单元测试,我做了 userDefaultsMock,我不知道如何在为那些特定键更新或设置值时发出

 override func setValue(_ value: Any?, forKey key: String) {
tempArray[key] = value
}

最佳答案

Observable 链以副作用开始(例如您发布的 observe(_:_:))并以副作用结束(订阅中的任何内容。)介于两者之间的一切链的开始和结束是逻辑[1]。将该逻辑移到一个单独的函数中,这样您就可以在没有模拟的情况下对其进行测试。

[1] 此规则的几个异常(exception)是 do() 调用和 flatMap 调用。其他一切都是需要测试的逻辑。

关于ios - RxSwift 在模拟的 UserDefaults 上观察测试用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56724018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com