Unit testing 更好的单元测试指南
Jimmy Bogard写了一篇文章:,他给出了四条规则:Unit testing 更好的单元测试指南,unit-testing,language-agnostic,Unit Testing,Language Agnostic,Jimmy Bogard写了一篇文章:,他给出了四条规则: 测试名称应该从用户的角度描述什么和为什么 测试也是代码,给他们一些爱 不要拘泥于一种固定模式/组织风格 每次测试一次设置,执行和验证 您认为这些指南是否完整?你对单元测试的指导方针是什么? 请避免使用特定的语言习惯用法,尽量保持答案与语言无关。编写单元测试很简单,编写单元可测试代码很困难。 定期在测试中分解代码,以查看单元测试的有效性 有一本850页的书专门讨论这个话题,所以这本书不能简单地归结为几个硬性规则(尽管你提到的规则很好)
- 测试名称应该从用户的角度描述什么和为什么
- 测试也是代码,给他们一些爱
- 不要拘泥于一种固定模式/组织风格
- 每次测试一次设置,执行和验证
请避免使用特定的语言习惯用法,尽量保持答案与语言无关。编写单元测试很简单,编写单元可测试代码很困难。
- 定期在测试中分解代码,以查看单元测试的有效性
- 使用测试驱动开发。这是迄今为止实现良好单元测试的最有效途径。试图将单元测试改造为现有代码充其量也很困难
- 保持简单:理想情况下,单元测试应该少于10行代码。如果它增长到超过20行代码,则应该认真考虑重构测试代码或正在测试的API。
- 快点。单元测试套件需要非常频繁地执行,所以要将整个套件保持在10秒以下。这很容易就意味着每次测试都不超过10毫秒
- 如果你写代码,就写测试
- 不要拘泥于单元测试教条
- 拥抱单元测试业力
- 将代码和测试视为一体
- 测试比单元更重要
- 测试的最佳时间是代码更新时
- 测试不会浪费
- 今天不完美的考试总比将来某一天完美的考试好
- 丑陋的测试总比没有好
- 有时,测试证明了方法的正确性
- 只有傻瓜才不用工具
- 好的测试失败了