读书笔记 《代码整洁之道》单元测试
TDD三定律
定律一:在编写不能通过的单元测试之前,不可以编写生产代码
写生产代码之前,一定要写好可靠的单元测试代码
定律二:只可编写刚好无法通过的单元测试,不能编译也算不通过
只能编写刚好无法通过的单元测试代码,也就是说一次性只需要写一个单元测试代码,不要在一个单元测试里写太多的测试场景。
定律三:只可编写刚好足以通过当前失败测试的生产代码
只能编写刚好单元测试会失败的生产代码,就是一次只能写符合一个单元测试要求的代码,写了一个case 就一段对应的代码
个人总结:
- 单元测试放在代码之前写
- 单元测试只写当前要测试的功能的场景
- 只写第二步单元测试覆盖的代码。
整洁的测试
单元测试代码三要素:
可读性,可读性,可读性
整洁的测试代码三个步骤:
构造(测试数据)—> 操作—>检验
测试代码工程标准:
简单,精悍,足具表现力,不需要考虑资源消耗(因为不会部署,所以无需考虑)。
每个测试只有一个断言。
每个测试函数只测试一个概念。
整洁测试的五个原则:
- 快速 运行速度快
- 独立 测试相互独立,不需要某个测试作为前提条件,自己也不是某个测试的前提条件,不需要按照顺序
- 可重复 不需要区分环境
- 可以自证 会返回布尔值,不需手动去比对。
- 及时 要在代码之前就写好单元测试代码