据我所知,TDD和BDD循环类似于:
问题是,在编写任何代码之前,如何编写测试?我应该创建某种类骨架或接口吗?还是我误解了什么?
发布于 2015-02-10 15:09:00
你有它的本质,但我会改变你的描述的一部分。在编写代码之前不编写测试--在编写代码之前编写测试。然后--在编写更多测试之前--编写足够的代码来通过测试。当它通过时,您将寻找改进代码的机会,并在保持测试通过的同时进行改进--然后编写第二个测试。关键是,在任何给定的时间,您都会专注于一小部分功能。下一步你想让你的程序做什么?为此写一个测试,仅此而已。让测试通过。清理密码。接下来你想让它做什么?一直循环到你高兴为止。
问题是,如果在编写代码之前编写测试,那么就没有重点。一次只考一次。
发布于 2015-02-10 14:59:00
是的,这是正确的。如果您查看Michael关于Rails的书(免费查看HTML ),您将看到他是如何做到这一点的。因此,要添加到lared所说的内容,让我们假设您的第一项工作是添加一个新的按钮到网页。您的流程将如下所示:
当您意外地对代码做了破坏旧测试的事情时,TDD将节省您的培根。例如,您意外地将按钮更改为链接。测试将失败,并提醒您注意问题。
发布于 2015-02-10 15:09:49
如果您使用的是真正的编程语言(您知道,使用编译器等等),那么当然,您必须编写类骨架或接口,否则您的测试甚至无法编译。
如果您使用的是脚本语言,那么您甚至不必编写框架或接口,因为您的测试脚本将愉快地开始运行,并将在它遇到的第一个不存在的类或方法上失败。
https://stackoverflow.com/questions/28434552
复制相似问题