测试驱动开发(Test Driven Development,以下简称TDD)
TDD具体是什么,怎么写,可以看看喵神的博客。因为这本书里大部分内容都是详细在说怎么写,但我觉得喵神的博客更加简洁明了。所以这里只记录下书中对于TDD的一些建议
1. TDD的4个步骤
image.jpeg- 写一个失败的测试
- 让他通过
- 重构
- 重复
2.TDD的好处是什么
TDD 是确保软件正常工作并在未来继续正常工作的唯一最佳方式
3. 你应该测试什么
- 测试那些没法被自动化方式找到bug的代码
- 不要测系统方法,或者系统自动生成的代码
- 不要测编译器能发现的错误
- 不要测试依赖库的bug,比如第三方框架,这应该是它们自己负责
4. 测试target的目录组织
image.jpeg5. 测试
XCTAssert functions:一堆xct开头的方法
UIViewController testing:测试vc不测view,因为这是ui automation test做的事,我们测的是逻辑状态
image.jpeg勾上这个,测试就会在app的上下文中运行,你就可以获取到UIApplication对象和整个view层级了
Code Coverage: 这里可以打开,代码覆盖率
image.jpeg打开后就能在测试报告中看到了
image.jpeg这时候代码右边的色块里的数字表示这行代码在测试中跑了几遍,虚线的红色块,表示这行代码只有部分执行了
Test debugging
测试也是可以加断点调试的
image.jpeg6.TDD思路
TDD需要你在写代码之前理清思路,想好自己要做什么,可以列下来,挨个通过TDD的方式完成,比如你需要一个可以下载图片的类ImageClient,则可以根据以下思路来完成TDD
- 创建一个类ImageClient。
- 创建图像加载的协议。
- 从 URL 下载image。
- 根据 URL 缓存image。
- 能直接给UIImageView通过设置URL的方式让它显示网络图片
- 能使用ImageClient显示image。
网友评论