12

可能重复:
用于单元测试的 SpecFlow/BDD?

在过去的几年里,我一直在使用 NUnit/Moq 在 TDD 中工作,在过去的几个月里,我一直在使用 mSpec 来掌握 BDD。

到目前为止一切都很好,但我们现在希望更多地进入基于验收标准的测试,其中涉及业务分析师,并且我们在开发过程中获得了外部。

所以现在我们已经预定义了 Gherkin 语法文件,并且使用 specflow 感觉是正确的工作方式。

但是,在单元测试级别,具有预定义的 Gherkin 文件会违背我对 TDD 的理解。换句话说,你在设计过程中会随着行为的发展而长期发展你的设计。

由于我们正在使用外部方法,现在在单元测试级别,我们现在是否拥有现在可以用来驱动我的单元测试的规范/行为(感觉就像我一直在做 TDD 的方式)?

早些时候,这些文件对于验收测试很重要,但作为开发人员,我将独自工作,因此除非我使用 SpecFlow,否则它们不是必需的。

另外,当我们使用 mspec 时,在单元测试级别维护 GWT 文件会有什么好处?开发人员应该能够直接跳入代码并阅读测试,或者只是运行测试运行程序以查看它在做什么。

TIA京东

4

1 回答 1

15

我的自发回答是否定的。

BDD 和 specflow 和 Cucumber 等工具的主要好处是与项目的利益相关者进行沟通,并就要构建的内容达成共识。

TDD 的主要好处是通过解决方案实施采取小步骤,确保您构建可维护且出色的代码。

或者,如果您愿意;BDD 是关于确保我们正在构建正确的东西,TDD 是关于确保我们正在正确地构建它。

如果您想了解更多详细信息,我前几天在我的博客上回答了这样的问题;http://www.marcusoft.net/2011/11/bdd-and-technical-scenarios.html

于 2011-11-24T12:56:18.077 回答