为什么黄瓜需要specflow,即使它支持BDD工具



我试图找出为什么使用。net开发BDD测试自动化框架需要specflow。Cucumber本身就是一个BDD工具,为什么我们不能直接在。net项目中使用Cucumber呢?

Cucumber是一个读取Gherkin语法纯文本规范文件并运行ruby文件来执行这些规范的应用程序。

Specflow是。net的一个"端口",它也使用Gherkin语法文件,但将它们连接到。net代码。如果你看一下cucumber文档,它说要在。net中使用cucumber,你需要通过SpecFlow。

我不认为你可以在。net中运行cucumber,除非你正在考虑使用iron ruby…

Cucumber主要是为Ruby项目编写的,并在Ruby中执行。

存在其他语言的端口。Cucumber-JVM在Java中执行,SpecFlow在。net中执行。如果你想用。net编写你的测试框架,SpecFlow是你应该使用的。

如果您正在编写验收测试(这是Cucumber真正设计的目的),那么您的框架没有理由必须使用与开发人员编写的语言相同的语言。您的框架应该位于应用程序的单独的repo中,并独立部署。你可以用ruby框架测试PHP网站,用Cucumber-JVM框架测试Rails网站。只要您的部署流程能够处理它,并且您能够熟练使用该语言,就没有关系。