【问题标题】:Is it possible to TDD when writing a test runner?编写测试运行程序时是否可以进行 TDD?
【发布时间】:2012-07-18 16:11:20
【问题描述】:

我目前正在为 Django 编写一个新的测试运行程序,我想知道是否可以使用我自己的测试运行程序对我的测试运行程序进行 TDD。有点像编译器引导,编译器自行编译。
假设有可能,怎么做?

【问题讨论】:

  • 有趣的想法,但第一个版本不是自举的。以后的版本可以。
  • @PaulPhillips 所以我必须使用现有的测试框架编写第一个版本,然后重写它?
  • 可能有一些非常聪明和复杂的方法可以避免这种情况,但这是我能想到的唯一选择。这是一种非常实用的方法。
  • @PaulPhillips 留下它作为答案,我会接受它。

标签: python django testing tdd bootstrapping


【解决方案1】:

是的。 Kent Beck 在他的“测试驱动开发:通过示例”一书中使用的示例之一是测试运行器。

【讨论】:

  • 有趣。我去看看。
  • 如果我没记错的话,Beck 和 Gamma 甚至使用 TDD 构建了整个 JUnit 框架。您可以在这个有趣的采访中了解更多信息:se-radio.net/2010/09/…
【解决方案2】:

引导是一种很酷的技术,但它确实存在循环定义问题。如何使用尚不存在的框架编写测试?

引导编译器可以通过多种方式解决这个问题,但我的理解是,通常 first 实现不是引导的。后来的引导程序将被重写,然后使用原始编译器来编译自己。

所以第一次使用现有的框架来编写它。然后,一旦你有了一个稳定的版本,你就可以使用你自己的测试运行器重新编写测试。

【讨论】:

    猜你喜欢
    • 2012-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    相关资源
    最近更新 更多