TDD(Test-Driven Development):测试驱动开发,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。
TDD三定律:
- 在编写不能通过的单元测试前,不可编写生产代码。
- 只可编写刚好无法通过的单元测试,不能编译也算不能通过。
- 只可编写刚好足以通过当前失败测试的生产代码。
这样测试代码量足以匹敌生产代码量,导致令人生畏的管理问题。
测试代码和生产代码一样重要。它该像生产代码一般保持整洁。
整洁的测试,三个要素:可读性、可读性和可读性。
每个测试函数只测试一个概念。
整洁的测试还遵循一下5条规则(F.I.R.S.T):
- 快速(Fast):测试应该够快。测试运行缓慢,你就不会想要频繁地运行它。
- 独立(Independent):测试应该相互独立。某个测试不应为下一个测试设定条件。
- 可重复(Repeatable):测试应当可在任何环境中重复通过。
- 自足验证(Self-Validating):测试应该有布尔值输出。
- 及时(Timely):测试应及时编写。