上次我在2009年底寻找一个框架,现在我想使用BDD,我发现.NET中有大约7个BDD框架,我想知道,根据某人的经验,哪一个是最多的成熟?
SpecFlow正在成为更好的.NET BDD工具之一,它是真的,而且MSpec在单元级别上表现出色,但考虑到观众的非技术性,我没有找到比NUnit更多的好处.
但说真的是 - BDD与工具无关.如果您想要开始使用,请首先关注场景周围的对话.这就是BDD取得巨大成功的地方 - 当对话开始产生理解时,会有更多关于如何解决问题并提供项目真正价值的想法.如果您的业务利益相关者希望基于这些对话更多地参与,那么这是开始使用英语BDD工具的一个很好的点.否则,要认识到这些工具引入了另一层抽象,以及重构英语的难度,确定了哪些步骤不再使用等等.BDD工具为场景自动化引入了另一层复杂性,这已经很棘手了.
如果您只是想了解更多有关BDD框架如何挂起的信息,而不是在企业项目中使用它们,那么请继续使用它.
作为替代方案,您可以在一个小的自定义DSL中捕获场景,并在普通的旧NUnit中执行您需要的所有操作.我是最初的JBehave开发者之一,如果没有充分的理由和充足的利益相关者参与,我仍然不会自动跳到JBehave.稍后移动到英语BDD工具很容易(如果!)它变得最有用.