我想在我的一个 ViewModel 中执行测试,其中包含一个名为“nearByCity”的 BehaviorRelay 对象,该对象绑定到名为“isNearBy”的 BehaviorRelay。这就是我的视图模型的样子。
class SearchViewViewModel: NSObject {
//MARK:- Properties
//MARK: Constants
let disposeBag = DisposeBag()
//MARK: Vars
var nearByCity:BehaviorRelay<String?> = BehaviorRelay(value: nil)
var isNearBy = BehaviorRelay(value: true)
//MARK:- Constructor
init() {
super.init()
setupBinders()
}
}
//MARK:- Private methods
private extension SearchViewViewModel{
func setupBinders(){
nearByCity
.asObservable()
.distinctUntilChanged()
.map({$0 ?? ""})
.map({$0 == ""})
.bind(to: isNearBy)
.disposed(by: disposeBag)
}
}
我要执行的测试是实际验证当字符串被接受时,布尔值也会根据函数 setupBinders() 发生变化。
任何想法?
谢谢