利用测试确保应用质量
1. 隔离测试
在进行测试时,假设是一个巨大的风险。当你对测试环境进行任何假设时,测试就变得不可靠。比如,你可能会假设在模拟器上测试,且测试用户始终处于登录状态,从而在编写测试时假定存在已登录用户。但如果出现让用户注销登录的情况,很多基于此假设的测试就会失败,即便被测试的代码本身运行无误。
测试应该专注于应用中的单一功能,尽可能减少对外部代码的依赖。人们常用的一种构建测试并提高可靠性的模式是 3 - As 或 AAA 方法,即 Arrange(准备)、Act(执行)和 Assert(断言)。
- Arrange(准备) :这一步主要是进行准备工作。确保存在已登录用户、填充(内存)数据库、创建假 API 或其他辅助工具的实例。但此步骤不应涉及过多设置,如果编写了大量代码,可能意味着测试范围太广,或者被测试的代码依赖过多其他代码。必要时可考虑重构代码和测试。
- Act(执行) :在这一阶段,启动测试所需的操作。调用被测试对象的方法、提供数据并进行操作。不过,不要连续执行过多操作,否则会给后续的断言步骤带来问题。
- Assert(断言) :这是 3 - As 方法的最后一步。在断言步骤中,确保被测试对象的状态符合预期。在单个测试中,执行和断言步骤可以多次使用。如果在一个测试中进行大量断言,或者反复执行和断言,可能表明测试范围太广。
2. 使用 XCTest 设置测试套件
我们将为一个名为 MovieTrivia 的新应用添加测试套件。该项目的基本设置可在 Git 仓库中找到。项目包含一些视图控制
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



