代码之家  ›  专栏  ›  技术社区  ›  Petr Macek

在持续集成中如何处理TDD?

  •  3
  • Petr Macek  · 技术社区  · 16 年前

    假设您正在实现包含各种新特性的用户故事,并为代码库增加复杂性。现有的代码已经被很好地覆盖,您刚刚决定了接口。您将开始实现从测试开始的功能。

    现在,您已经有了基于需求的相当复杂的测试用例,但是当您能够向scm提交完全工作的代码,并且许多测试都失败(正如它们应该的那样)时,实现还远远不够。

    有一个假设,在持续集成中,如果可能的话,所有构建都应该是绿色的,因此您不应该提交,因为这样会破坏构建。但你也不应该 "Go dark" 把这么多代码留给你自己…

    在这种情况下,建议的程序是什么?

    2 回复  |  直到 16 年前
        1
  •  5
  •   Hristo Deshev    16 年前

    不做决定 全部的 预先连接。以典型的tdd节奏递增开发:编写测试;使测试通过;重构。这将保持一切良好的状态,栏将始终是绿色的,您可以签入代码,而不必担心您会破坏构建。

    它需要一种不同的代码编写风格,但您最终会习惯这种节奏。

        2
  •  1
  •   Rob Wells    16 年前

    跳过那些由于功能当前丢失而无法通过的测试怎么样?

    很明显你也跳过了测试!真的让它尖叫“像一头卡住的猪”,就像他们在奥兹说的!(-)

    在添加功能时,启用相关的测试并保持“Your bar green!”

    这里是 another great article 在务实的程序员,包括使破碎的窗口显而易见的其他人。

    高温高压

    干杯,

    抢劫