22、RxSwift 实用指南:测试、常用包装器与表格视图处理

RxSwift 实用指南:测试、常用包装器与表格视图处理

1. SingleAssignmentDisposable 的作用

SingleAssignmentDisposable() 能确保在任意时刻,每个单元只有一个订阅处于活跃状态,避免资源浪费。构建并运行应用,在搜索栏输入内容,就能看到应用开始正常工作。

2. 测试自定义包装器

即便一切看似正常运行,创建测试来确保所有功能持续正确工作仍是个好习惯,尤其是在包装第三方框架或对响应进行自定义模型解码时。测试套件能保证实现的稳定性,还能帮助你找出因重大变更或 bug 导致代码出错的位置。

2.1 编写自定义包装器测试的方法

这里使用用于在 Swift 中编写测试的常用库 Nimble 及其包装器 RxNimble。RxNimble 让测试编写更简单,代码更简洁。例如,原本的代码:

let result = try! observabe.toBlocking().first() 
expect(result).first != 0

可以简化为:

expect(observable) != 0

打开测试文件 iGifTests.swift ,在导入部分能看到 Nimble、RxNimble、用于模拟网络请求的 OHHTTPStubs 以及将异步操作转换为阻塞操作所需的 RxBlocking。文件末

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值