测试是否必须首先在TDD中编写?

时间:2011-08-23 18:28:51

标签: unit-testing tdd agile

今天早上,我与同事讨论了TDD。在他看来,要真正做TDD,测试必须在代码之前编写。我认为,只要你的测试正在推动你的代码和你做出的决定(例如:注入依赖关系,单一责任等等......),基于你正在进行TDD测试的反馈。所以我认为测试优先和测试驱动之间应该有区别。

我理解TDD规则,我读过书籍,博客和敏捷论坛。到目前为止,所有在这里讨好的人都给了我TDD的书籍文本定义。

我接触这个小组的原因是因为我们知道“解决方案不在教科书中”。另外我需要知道,我不是唯一认为这是合理的疯狂的人:)

为了做TDD,必须首先编写测试吗?你有什么意见?

2 个答案:

答案 0 :(得分:1)

我认为重要的是它是一个迭代过程,迭代非常小。因此,如果您的第一步是创建一个文件并使用一个方法删除创建一个简单的类,然后编写一个调用该方法并失败的测试,那么我认为您首先创建的文件并不重要。你必须决定你正在创建的东西看起来足以编写一个调用它的测试,谁关心你保存文件的顺序?但是如果迭代比那些大得多,那么你可能没有做TDD。将整个课程作为一个大的迭代事先编写,绝对不会算作TDD。

答案 1 :(得分:0)

在纯TDD中,首先编写测试。如果团队有必要的纪律,我个人认为只要测试推动开发就行。在有涵盖所有功能的测试之前,没有任何事情可以完成。

相关问题