当前位置:  开发笔记 > 小程序 > 正文

红绿灯测试的相关性

如何解决《红绿灯测试的相关性》经验,为你挑选了1个好方法。

我开始,并且喜欢TDD,无论如何对红绿灯概念感到疑惑.理论上我理解确保在通过测试之前可以通过测试的重要性.然而,在实践中,我发现这有点徒劳无益.

我觉得如果不实现我打算测试的代码,我就无法正确编写失败或通过测试.例如,如果我编写一个测试来显示我的DataProvider正在返回一个DataRow,我需要编写DAL逻辑以提供有意义的失败,一个失败超过NullException或从空方法返回Null,这似乎是毫无意义,因为我觉得红灯应该表明我可以根据我测试的实际逻辑创建一个失败的测试.

换句话说,如果我只是返回null或false,从我正在测试的函数中得到我的失败真正的红灯值.

但是,如果我已经实现了逻辑(这在某种程度上违背了测试的第一范式),我发现我只是为了获得一个红色来测试互斥概念(IsTrue而不是IsFalse,或IsNull而不是IsNotNull)光而不是绿色,然后切换到相反的方式获得通行证.

我没有理解这个概念,我真的在提出这个问题,因为这是我注意到的事情,我想知道我做错了什么.

编辑

我接受了查理·马丁的回答,因为它对我来说效果最好,并没有暗示其他答案没有任何效力,所有这些都帮助我理解了一个我显然没有正确理解的概念



1> Raminder..:

红色权利的价值在于它发现假阳性的能力.我发现无论我的实现代码是什么,它总是通过测试.正是在这种情况下,红灯/绿灯测试才有帮助.

我也发现我的一些测试根本没有运行,当我没有使用红灯时,我所看到的只是"建立成功".如果我使用红灯确保我的测试失败,那么当我看到构建失败时我会看到构建成功的那一刻我会怀疑.

推荐阅读
oDavid_仔o_880
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有