JD.*_*JD. 12 tdd bdd mspec specflow
可能重复:
单元测试的SpecFlow/BDD?
在过去的几年里,我使用NUnit/Moq在TDD工作,在过去的几个月里,我一直在使用mSpec来处理BDD.
到目前为止这么好,但我们现在希望更多地转向基于验收标准的测试,其中涉及业务分析师,我们在开发过程中获得了外部.
所以现在我们已经预定义了Gherkin语法文件,并且使用specflow感觉它是正确的工作方式.
但是,在具有预定义Gherkin文件的单元测试级别将违背我对TDD的理解.换句话说,你的设计随着行为的不断深入改进你的设计.
由于我们正在使用外部方法,现在在单元测试级别可能是我们现在拥有现在可用于驱动我的单元测试的规范/行为(只是感觉它与我一直在做TDD的方式相反) )?
之前这些文件对验收测试很重要,但作为开发人员,我将独自工作,除非我使用SpecFlow,否则它们不是必需的.
当我们使用mspec时,我们在具有GWT文件的单元测试级别有什么好处?开发人员应该能够跳转到代码并阅读测试,或者只是运行测试运行器以查看它在做什么.
TIA JD
Mar*_*erg 15
我的自发答案是否定的.
BDD和specflow和Cucumber等工具的主要好处是与项目的利益相关者进行沟通,并创建对要构建的内容的共同理解.
TDD的主要优点是通过解决方案实施采取一些小步骤,确保您构建可维护且优秀的代码.
或者如果你想; BDD旨在确保我们正在构建正确的东西,TDD就是确保我们正确地构建它.
如果你想了解更多细节,我前几天在博客上回答了这样的问题.http://www.marcusoft.net/2011/11/bdd-and-technical-scenarios.html