加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

鲍勃叔叔的TDD规则

发布时间:2020-12-13 20:25:45 所属栏目:百科 来源:网络整理
导读:UncleBobsThreeTDDRules 除非要进行失败的单元测试通过,否则不允许编写任何生产代码. 您不得再编写任何单元测试,而不是足以使其失败;和编译失败是失败. 您不能再编写足以通过一次失败的单元测试的生产代码. 有人能告诉我1和3之间的区别吗?这对我来说不是很
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;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读