《iOS Text-Driven Development》 笔记

测试驱动开发(Test Driven Development,以下简称TDD)
TDD具体是什么,怎么写,可以看看喵神的博客。因为这本书里大部分内容都是详细在说怎么写,但我觉得喵神的博客更加简洁明了。所以这里只记录下书中对于TDD的一些建议

1. TDD的4个步骤

image.jpeg
  1. 写一个失败的测试
  2. 让他通过
  3. 重构
  4. 重复

2.TDD的好处是什么

TDD 是确保软件正常工作并在未来继续正常工作的唯一最佳方式

3. 你应该测试什么

  1. 测试那些没法被自动化方式找到bug的代码
  2. 不要测系统方法,或者系统自动生成的代码
  3. 不要测编译器能发现的错误
  4. 不要测试依赖库的bug,比如第三方框架,这应该是它们自己负责

4. 测试target的目录组织

image.jpeg

5. 测试

XCTAssert functions:一堆xct开头的方法

UIViewController testing:测试vc不测view,因为这是ui automation test做的事,我们测的是逻辑状态

image.jpeg

勾上这个,测试就会在app的上下文中运行,你就可以获取到UIApplication对象和整个view层级了

Code Coverage: 这里可以打开,代码覆盖率

image.jpeg

打开后就能在测试报告中看到了

image.jpeg

这时候代码右边的色块里的数字表示这行代码在测试中跑了几遍,虚线的红色块,表示这行代码只有部分执行了

Test debugging

测试也是可以加断点调试的

image.jpeg

6.TDD思路

TDD需要你在写代码之前理清思路,想好自己要做什么,可以列下来,挨个通过TDD的方式完成,比如你需要一个可以下载图片的类ImageClient,则可以根据以下思路来完成TDD

  1. 创建一个类ImageClient。
  2. 创建图像加载的协议。
  3. 从 URL 下载image。
  4. 根据 URL 缓存image。
  5. 能直接给UIImageView通过设置URL的方式让它显示网络图片
  6. 能使用ImageClient显示image。

你可能感兴趣的:(《iOS Text-Driven Development》 笔记)