返回介绍

15.5. 小结

发布于 2019-09-14 13:30:49 字数 866 浏览 968 评论 0 收藏 0

15.5. 小结

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

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

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

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

  • 继承 unittest.TestCase 生成子类并为每个单独的测试用例编写方法。
  • 使用 assertEqual 检查已知结果的返回。
  • 使用 assertRaises 检查函数是否引发已知异常。
  • 在 if __name__ 子句中调用 unittest.main() 来一次性运行所有测试用例。
  • 以 详细(verbose) 或者 普通(regular) 模式运行单元测试

进一步阅读

  • XProgramming.com 有多种语言的 单元测试框架 的下载链接。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文