2

我是 TDD 新手,我对概念有疑问。在 TDD 中说,如果不先编写测试,就不会编写代码。我们通常需要存储库模式来模拟对象并能够实现测试。我的问题是:我们应该首先实现存储库模式吗?如果是,首先编写测试会发生什么?如果不是,我们如何在不使用存储库模式的情况下模拟对象?

感谢您抽出宝贵时间。

4

1 回答 1

3

如果您打算使用 TDD 进行开发,毫无疑问您必须首先创建测试。

它将让您自然地实现存储库模式,并使您的生活更轻松,因为存储库模式将使单元测试不那么痛苦。

甚至 TDD 测试周期也强制执行此顺序:

  1. 编写失败的验收测试
  2. 编写一个失败的单元测试
  3. 使失败的测试通过
  4. 重构
  5. 重复步骤 2-4,直到失败的验收测试通过

当您实际编写代码时,将在第 3 步和第 4 步中介绍存储库模式。

虽然我更喜欢在第 4 步中引入这些模式,但其他一些人会直接跳到第 3 步中实现它。这是风格问题,但我更喜欢在单元测试通过后引入更复杂的代码。

如果你想更深入地了解这个主题,有一些关于重构的强大书籍,但其中一本可能对你来说特别有趣,因为它在逻辑上绑定了重构和设计模式。重构为模式

几个月前,我自己在 TDD 开发中实现了存储库模式,效果很好。

我认为这是一个很好的问题,所以非常感谢您提出这个问题。

于 2013-09-09T11:08:59.207 回答