15.5. 小结

单元测试是一个强大的概念,使用得当的话既可以减少维护成本又可以增加长期项目的灵活性。同样重要的是要意识到单元测试并不是“灵丹妙药”,也不是“银弹”。编写好的测试用例很困难,保持其更新更需要磨练 (特别是当顾客对修复严重的 Bug 大呼小叫之时)。单元测试不是其它形式测试的替代品,比如说功能性测试、集成测试以及可用性测试。但它切实可行且功效明显,一旦相识,你会反问为什么以往没有应用它。

这一章涵盖了很多内容,有很多都不是 Python 所特有的。很多语言都有单元测试框架,都要求你理解相同的基本概念:

  • 测试用例的设计方针是目的单一、可以自动运行、互不干扰。
  • 在被测试代码编写之前 编写测试用例。
  • 编写测试有效输入的测试用例并检查正确的结果。
  • 编写测试无效输入的测试用例并检查正确的失败。
  • 描述 Bug反映新需求而编写和升级测试用例。
  • 为改进性能、可伸缩性、可读性、可维护性和任何缺少的特性而无情地重构

另外,你应该能够自如地做到如下 Python 的特有工作:

进一步阅读