TDD-XCTest入门篇

它是什么

TDD测试驱动开发,全称为Test Driven Development。XCode自带的单元测试工具

它有什么好处

  • 测试为了线上少出错,发现bug及时修改
  • 不必每次改完一个很小的问题就的重新跑一遍程序
  • 测试为了更好地优化自己代码结构逻辑

我怎么用它

XCT基础配置

XCTestCaseXCTest的具体的子类,开发者可以通过重写此类来测试自己的工程。一个测试类可以有多个测试方法,并且对于所有的测试方法支持创建和清空操作,类层面上的测试也一样。
如何定义一个测试类:

  • 创建一个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就会在运行时跳过这个方法

正在尝试怎么结合实际项目提升开发效率,有了进展在更新。

参考

玉令天下的博客
XCTest测试实战
测试ViewController