|
|
1
7
您陷入了TDD中最危险的陷阱:您认为TDD是关于测试的,但事实并非如此。然而,很容易落入这个陷阱,因为TDD中的所有术语都与测试有关。这就是BDD被发明的原因:它本质上是TDD,但没有令人困惑的术语。 在TDD中,测试不是真正的测试,而是示例。断言并不是真正的断言,而是期望。你不是在对付单位,而是在对付行为。BDD就是这么称呼他们的。(注意:BDD自发明以来一直在发展,现在它包含了不属于TDD的内容,但最初的意图只是“许多人做TDD是错误的,所以使用不同的词来帮助他们做正确的事情”。) 唯一正确的选择 ! 永远记住这一点! |
|
|
2
6
当您发现单元的预期行为发生变化时,轰炸您的测试绝对没有错。
|
|
|
3
4
保持简单。
红色、绿色、重构 |
|
|
4
2
重构 打电话 Add Parameter 如果您的语言支持 method overloading 然后,当问题解决后,您可以逐个修改所有测试以调用新方法。最后,您可以删除旧方法。
这是一个有点广泛的过程,但我认为 遵循红-绿重构的TDD方法。
|
|
|
5
1
|
|
|
6
1
我要说的是,不要为“正确的”/“正确的”方式而烦恼。。。任何能帮助您更快地接近解决方案的方法。 如果您发现需要引入一个额外的参数,
只有在添加一个新参数会导致无数编译错误的情况下,我才建议-分步执行。。。在发现确实不需要第三个参数或需要第四个参数之前,您不想更新整个源代码库。。浪费时间。因此,在更新所有引用之前,获取新版本的方法“working”。(正如菲利普在这里所说)
|
|
7
0
如果一个方法没有正确地完成任务,那么需要对其进行修复,如果修复需要更改签名,那么请注意其中的错误。根据TDD,您首先编写测试用例,它肯定会失败,然后编写方法以满足测试。按照这种方法,如果测试中的方法调用需要一个参数才能运行,那么您需要这样做。 |
|
|
Glory Raj · 有什么方法可以使这两个块具有共同的功能吗 4 年前 |
|
|
Justin · Python自属性重命名 8 年前 |
|
|
Sabutobi · 长dict属性行的重构 8 年前 |
|
|
Falco Alexander · 简单LINQ重构/样式 8 年前 |
|
|
05bs001 · Euler 12需要优化 8 年前 |
|
|
slartidan · 如何将lambda表达式重构为方法引用? 8 年前 |
|
|
Alex · 在Java类中频繁使用与映射键相同的字符串[已关闭] 8 年前 |