【发布时间】:2017-07-28 15:02:11
【问题描述】:
Bob 大叔的测试驱动开发的三个规则如下:
除非是为了通过失败的单元测试,否则您不得编写任何生产代码。
您不能编写任何超过足以导致失败的单元测试;编译失败就是失败。
您编写的生产代码不得超过足以通过一个失败的单元测试的数量。
例如,在现实世界中,我的任务是完成一个需要一些复杂算法(例如一些高级数学知识)的方法,如果我应用上述 3 条规则,它将是这样的:
开始编写测试用例 => 运行并看到它失败
编写足以使测试通过的代码行
重构代码
然后重复这个循环。
我的问题是:这种方法在这种情况下是否非常不切实际和分心?
为什么我们不编写第一个测试用例,然后专注于找到解决方案然后实施它,我的意思是看大局,而不是编写足够的代码来通过第一个测试用例?
【问题讨论】:
-
请参阅鲍勃叔叔的素因子卡塔。 butunclebob.com/ArticleS.UncleBob.ThePrimeFactorsKata
标签: unit-testing testing tdd