0

测试驱动开发是否需要单元测试?我经常发现没有单元测试就没有 TDD。我无法通过 Wiki 等受人尊敬的来源或我可以访问的书籍来确认它。

来自维基百科:

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

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

4

2 回答 2

3

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

附带说明一下,在这种情况下,我不会将 Wikipedia 称为受人尊敬的资源。参考资料的来源,当然。但是,如果您对 TDD 有任何疑问,我怀疑没有比Kent Beck关于该主题的书更受尊重的资源了。

于 2013-03-17T00:11:15.260 回答
-1

在开发 TDD 时,据说最好的测试是原子的和隔离的。这意味着他们正在测试一些非常具体的东西,而不依赖于您项目中的其他东西。UnitTest 正是用于此目的,所以我想没有单元测试就没有 TDD。

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

我真的很推荐这本书,它很短,很容易阅读,并且真的向你展示了方法:

测试驱动:面向 Java 开发人员的实用 TDD 和验收 TDD

于 2013-03-17T01:34:15.353 回答