它是什么
TDD测试驱动开发,全称为Test Driven Development。XCode自带的单元测试工具
它有什么好处
- 测试为了线上少出错,发现bug及时修改
- 不必每次改完一个很小的问题就的重新跑一遍程序
- 测试为了更好地优化自己代码结构逻辑
我怎么用它
XCT基础配置
XCTestCase
是XCTest
的具体的子类,开发者可以通过重写此类来测试自己的工程。一个测试类可以有多个测试方法,并且对于所有的测试方法支持创建和清空操作,类层面上的测试也一样。
如何定义一个测试类:
- 创建一个
XCTestCase
的子类,并且以Tests
结尾 - 实现里面的
-test
方法 - 可以定义多个储存当前测试状态的对象或者属性 (可选)
- 通过初始化
-setUp
来初始化状态 (可选) - 通过重写
-tearDown
在测试完之后清除 (可选)
测试方法是对象方法 遵守以下约定:
- 没有参数
- 没有返回值
- 以test作为方法名前缀
XCT基础使用
测试方法大多都是通过断言来判定是否正确。
func testExample() {
XCTAssert(f1 + f2 == 5.0, "simple test example")
}
通过command+R
或通过Produnt-> Test
来运行测试用例,将会得到以下结果,并且在测试方法的左侧将会有一个菱形标志(正确则显示为绿色,错误则显示为红色)。
在写测试用例的时候,应该考虑到代码的重用性,项目里面的测试用例都应该有一个共同的父类。父类可以写一些公用的辅助方法以及一些属性。
测试方法命名采用test+要测试的方法和类名
,这样可以很明确地看出来测试用例的目的。每一个测试用例类都应该对应一个项目工程实际代码类,通常采用类名+Tests
命名。禁用一个测试用例的话,只需在方法名之前添加DISABLED
。
这里其实只要方法不是以
test
开头,XCTest就会在运行时跳过这个方法
正在尝试怎么结合实际项目提升开发效率,有了进展在更新。