UncleBobsThreeTDDRules
>除非要进行失败的单元测试通过,否则不允许编写任何生产代码.
>您不得再编写任何单元测试,而不是足以使其失败;和编译失败是失败.
>您不能再编写足以通过一次失败的单元测试的生产代码.
有人能告诉我1和3之间的区别吗?这对我来说不是很清楚.
对我来说1和3可以合并,还是这些规则也提示顺序?
首先:我会带着这些规则.
也就是说,规则一和规则三的概念略有不同:
规则1:如果没有失败的测试,您不应该编写任何代码.
规则3:你不应该实现一个完整的算法(即使它会使测试通过),但只有最简单的(有些人可能会说是天真的)解决方案才能使测试通过.
一个例子:
假设您需要一个采用数字并返回相同数字的方法.假设您有以下测试:
public void Entering1Returns1() { assert.That(calculate(1) == 1); }
此实现符合以下两个规则:
public void calculate(int input) { return 1; }
这个会违反规则3(严格来说),因为它不仅仅需要:
public void calculate(int input) { return input; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。