【问题标题】:How to properly use Unit Tests (in any language)如何正确使用单元测试(任何语言)
【发布时间】:2010-11-01 18:43:05
【问题描述】:

我以前从来没有真正写过单元测试(或者测试,就此而言,真的)。在编写了最小的代码来检查错误之后,我倾向于痴迷地运行/编译。我最近一直在阅读单元测试,我很好奇如何最好地使用/实现它们。我最近的主要语言是 Python,但我认为这是一个与语言无关的问题。有没有人有一些关于如何正确执行此操作的提示(或良好的阅读)?

谢谢!

【问题讨论】:

  • “我很好奇如何最好地使用/实现它们”?你不知道unittest 包是如何工作的吗?你不知道如何进行测试驱动开发?你想要什么帮助?这有助于非常具体了解您可以做什么以及您没有做什么。你试过什么?你不能做什么?
  • 如果它与语言无关,为什么用 Python 标记它?

标签: python unit-testing testing


【解决方案1】:

我建议Chapter 13Dive Into Python

【讨论】:

  • 太棒了。我不知道为什么我没想到那里看;如果我在 Python 文档中找不到(或容易理解),我通常会在那里寻找我不确定的东西。谢谢。
【解决方案2】:

单元测试是一回事,另一件要考虑的事情是测试驱动开发,其中编写测试的行为首先会影响最终交付代码的设计/感觉 - 希望会变得更好。我发现这很有帮助,特别是如果在编程开始时没有完全理解问题域。

Clarke Ching 用 excel 做了一小时的关于 TDD 的精彩演讲。如果你花一个小时读完这篇文章,你应该明白了。

http://www.clarkeching.com/files/tdd_for_managers_and_nonprogrammers_using_excell_and_vba_final.pdf

当 xUnit 测试模式是一本令人愉快的读物时,您就知道您已经接触了单元测试。 http://www.amazon.co.uk/xUnit-Test-Patterns-Refactoring-Signature/dp/0131495054/ref=sr_1_1?ie=UTF8&qid=1288638075&sr=8-1

虽然一开始这可能是一个很大的问题,但我建议对重构或 TDD 进行更精简的介绍,以便更温和地介绍这个引人入胜的主题。

【讨论】:

    【解决方案3】:

    我喜欢这个:The Art of Unit Testing。这些示例在 .Net 中,但这应该不是问题。我不知道任何有 Python 示例的书。

    【讨论】:

      【解决方案4】:

      我强烈建议使用 nose 这样的框架,它基于 unittest 构建并遵循相同的原则,但为您省去了很多脚手架。

      【讨论】:

        【解决方案5】:

        我在编写单元测试时使用的开源实用程序库是 ApprovalTests - 还有一个 YouTube 视频系列,介绍如何将此库与 .Net 语言一起使用(这些想法可以应用于其他语言和ApprovalTests 库也可用于其他 langauges(Java、PHP 等)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-11-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多