【问题标题】:Interesting / well written unit tests to read (literate programming)有趣/写得很好的单元测试阅读(文学编程)
【发布时间】:2010-06-10 19:47:33
【问题描述】:

您是否知道任何具有特别有趣/编写良好的单元测试的开放软件项目?

编写单元测试对我来说常常感觉很奇怪,因为它似乎太随机、太密集、太稀疏……阅读一些真实世界的示例(而不是书籍、库示例代码等)会很棒……

【问题讨论】:

  • 尝试查看行为驱动开发,例如Cucumber 项目是外部领域特定语言的一个很好的例子,它旨在以接近自然语言的语言创建验收测试。
  • 是的,我欣赏可用于 ruby​​ 项目和测试的各种 DSL 的美妙之处,以及它们所展示的不同范例。关键点是您需要准确且复杂性很高的部分,而不是像黄瓜那样的顺序测试。

标签: unit-testing literate-programming


【解决方案1】:

我发现this blog post by Misko Hevery 非常有用,尤其是因为他包含指向他的实际源代码的链接以及编写得非常好的单元测试。

更新:不幸的是,他帖子中的链接现在已损坏。但是,您可以通过搜索 http://code.google.com/p/testability-explorer/source/browse/trunk/testability-explorer/src/test/java/com/google/test/metric/collection/KeyedMultiStackTest.java 找到当前源文件。

【讨论】:

    【解决方案2】:

    我最近遇到了在 Python 中检测重叠日期范围的问题。 this solution 的优雅给我留下了深刻的印象,尤其是伴随它的单元测试。它们简短、清晰、详尽。此外,在我看来,在文档字符串中以 ASCII 艺术形式绘制案例是一种天才。

    我所做的唯一更改是将每个 assert 拆分为单独的测试,以提高隔离性。

    【讨论】:

    • 您提供的链接中的单元测试看起来非常漂亮和清晰。然而,必须说,为一个基于四个参数返回布尔值且没有外部依赖关系的函数编写单元测试是一种乐趣,但在现实生活中,我经常遇到更复杂的场景。
    • 我同意,虽然这真的很漂亮和紧凑,但困难的部分是处理实际应用程序中存在的各种依赖项(如臭名昭著的数据库相关测试)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-06
    • 2012-05-25
    • 1970-01-01
    相关资源
    最近更新 更多