TDD是否需要单元测试?

时间:2013-03-17 00:06:54

标签: c# java php unit-testing tdd

测试驱动开发是否需要单元测试?我经常发现没有单元测试就没有TDD的意见。我无法通过维基或我可以访问的书籍等受人尊敬的消息来证实这一点。

来自维基百科:

  

测试驱动开发(TDD)是一个软件开发过程   依赖于重复一个非常短的开发周期:首先是   开发人员写了一个(最初失败的)自动化测试用例   定义了所需的改进或新功能(...)

如果不需要单元测试,是否意味着创建集成测试足以跟随TDD?

2 个答案:

答案 0 :(得分:3)

如果集成测试有意义并提供有用(和快速)的反馈,那么肯定。它不是关于测试范例的纯度,而是关于快速反馈循环和正在编写的代码的验证。只要你有,就有TDD。

另外,在这种情况下,我不会将维基百科称为受尊敬的资源。肯定是参考资料的来源。但如果你对TDD有疑问,我怀疑在这个问题上有一个比Kent Beck's book更受尊敬的资源。

答案 1 :(得分:-1)

当你开发TDD时,据说最好的测试是原子的和孤立的。这意味着他们正在测试非常具体的东西,而不依赖于项目中的其他内容。 UnitTest恰好用于此,所以我猜没有单元测试就没有TDD。

使用TDD开发的想法是为自己和团队确定所有代码仍然按照预期工作。要实现这一目标,您需要一个集成服务器,每次集成所有内容时都必须运行测试。如果您使用框架进行单元测试,则很容易实现。

我真的推荐这本书,它简短易读,并且真正向您展示:

Test Driven: Practical TDD and Acceptance TDD for Java Developers