我们如何在持续集成中处理TDD?
时间:2020-03-06 14:55:01 来源:igfitidea点击:
想象一下,我们正在实现包含各种新功能的用户故事,并增加了代码库的复杂性。现有的代码已经很好地介绍了,我们刚刚决定了接口。我们将开始从测试开始实施功能。
现在,根据需求,我们已经有了相当复杂的测试用例,但是当我们能够提交到SCM完全正常工作的代码并且许多测试都失败时(如应有的那样),实现还远远不够。
有一个假设,在持续集成中,如果可能的话,所有构建都应该是绿色的,因此我们不应该提交,因为我们会破坏该构建。但是,我们也不应该"自己动手做",并为自己保留这么多的代码...
在这种情况下,建议的程序是什么?
解决方案
不要事先决定所有接口。以典型的TDD节奏逐步发展:编写测试;通过测试;重构。这样可以使一切保持良好状态,条形图始终为绿色,我们可以签入代码,而不必担心会破坏构建。
它要求使用不同的代码编写风格,但最终我们会习惯节奏。
跳过那些由于当前缺少该功能而无法通过的测试,该怎么办?
显而易见,我们也正在跳过测试!就像他们在绿野仙踪所说的那样,真叫它"像被困的猪一样"尖叫! (-:
添加功能时,启用关联的测试并保持"绿色"!
这是The Pragmatic Programmers上另一篇很棒的文章,内容涉及使破碎的窗户对其他人来说显而易见。
高温超导
干杯,
抢