幽默:TDD并不意味着先编写测试然后编写代码 - jamesshore


TDD并不意味着先编写测试,然后编写代码。它的意思是“编写测试的一部分,编写代码的一部分。” (然后反馈、改进和重复。)
 
众说纷纭:
TDD是设计软件的一种糟糕方法!
 
如果您的代码设计合理,并且有良好的人员在工作,则代码库或团队的规模并不重要,则不需要测试。如果您需要测试,是因为您的开发人员不良或软件设计不良。
 
练习TDD的想法是,我们必须多次编写/重写代码,直到它完全适合为止,而在编写/重写代码时,测试就像写一个故事一样对您有所帮助。当我们一次又一次地重写直到连接时,故事会变得越来越好情绪激动
 
我采访过多少人说他们做TDD,然后告诉我他们编写了他们可以想到的所有测试,然后开始进行并通过测试,这是很疯狂的。

有没有人在那里编写数百个失败的测试,然后编写代码使它们全部通过?

我喜欢这个,并且完全同意。TDD不是“在代码之前编写所有测试”。这是为了帮助您了解所编写代码的实际意图。它不仅有助于测试,而且还可以缓解功能蠕变和计划外的“功能迁移”。
 
我想补充两件事:1.这里一部分应是指过程/函数。2.在此阶段,您应该知道要测试什么。例如,现在不是测试需求的时刻。这是最大和最昂贵的误解之一。