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

时间:2008-09-30 10:59:40

标签: tdd continuous-integration development-process

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

现在,您根据需求拥有相当复杂的测试用例,但是当您能够提交SCM完全正常工作的代码并且许多测试失败时(实际应用),实现远远不够。

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

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

2 个答案:

答案 0 :(得分:5)

不要事先决定所有接口。在典型的TDD节奏中逐步发展:写一个测试;让测试通过;重构。这应该保持一切状态良好,条形图将始终为绿色,您可以检查代码而不必担心会破坏构建。

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

答案 1 :(得分:1)

如果因为功能目前缺失而跳过那些你知道不会通过的测试呢?

很明显你也在跳过测试!正如他们在奥兹所说的那样,真的让它像“被困的猪一样”尖叫! ( - :

在添加功能时,启用相关测试并保持“你的栏绿色!”

这里是{Pragermatic Programmers的another great article,其中包括让破窗变得明显。

HTH

欢呼声,

罗布