我是TDD的新手,我对概念有疑问。 在TDD中说没有编写代码而没有先编写测试。 我们通常需要Repository模式来模拟对象并能够实现测试。 我的问题是:我们应该首先实现Repository模式吗? 如果是,首先编写测试会发生什么? 如果不是,我们如何在不使用Repository模式的情况下模拟对象?
我很感激你花时间。
答案 0 :(得分:3)
如果您打算使用TDD进行开发,毫无疑问您必须首先创建测试。
它可以让您自然地实现存储库模式,并使您的生活更轻松,因为存储库模式将使单元测试不那么痛苦。
即使TDD测试周期也强制执行此顺序:
当您实际编写代码时,将在步骤3和4中引入存储库模式。
虽然我更喜欢在步骤4中引入这些模式,但是其他人会跳过并在第3步中实现它。这是一个风格问题,但我更喜欢在单元测试通过后引入更复杂的代码。
如果你想深入了解这个主题,有一些关于重构的强大书籍,但是对你来说可能特别有趣,因为它在逻辑上绑定了重构和设计模式。 Refactoring to Patterns
我几个月前在TDD开发中实现了存储库模式,结果很好。
我认为这是一个很好的问题,所以非常感谢你提出这个问题。