似乎互联网没有明确的答案,也没有一套原则来帮助我回答这个问题。所以我求助于 SO 上的伟大人物帮助我找到答案或指导思想:)
SpecFlow 对于 .NET 中的 BDD 非常有用。但是当我们谈论 BDD 时,我们只是在谈论集成/验收测试,还是在谈论单元测试——完全替代 TDD?
我只在小型项目中使用过它,但我发现即使对于我的单元测试,SpecFlow 也改进了代码文档和语言方面的思考。 Converseley,我无法在一个地方看到测试的完整代码 - 因为这些步骤是零散的。
现在给你......
编辑:我忘了提到我在 RoR 社区中看到了 RSpec,它使用 BDD 风格的语法进行单元测试。
最佳答案
我最近开始使用 SpecFlow
对于我的 BDD 测试,我仍然使用单元和集成测试。
基本上,我将测试拆分为单独的项目:
我的单元测试用于测试单个方法,不执行任何数据库调用或任何外部引用。我将集成测试用于与外部资源(例如数据库或 Web 服务等)交互的单个方法调用(有时可能是两个)。
我使用 BDD 来描述模仿项目业务/领域需求的测试。例如,我会有一个项目的发票生成功能的规范;或用于处理购物篮。这些测试遵循
As a user, I want, In order to
语义类型。
我的建议是根据您的需要拆分您的测试。避免尝试使用 SpecFlow 执行单元测试。
关于bdd - 用于单元测试的 SpecFlow/BDD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4152988/