我试图找到为什么使用.NET开发BDD测试自动化框架需要specflow。由于Cucumber本身是一个BDD工具,为什么我们不能直接在.NET项目中使用Cucumber?
Cucumber是一个应用程序,它读取Gherkin语法纯文本规范文件并运行ruby文件来执行这些规范。
Specflow是.net的黄瓜“端口”,它也使用Gherkin语法文件,但将它们连接到.net代码。如果你看看cucumber docs它说明在.net中使用黄瓜,你可以通过SpecFlow来实现。
我不认为你可以在.net中运行黄瓜,除非你想用铁红宝石......
Cucumber主要是为Ruby项目编写的,并在Ruby中执行。
其他语言存在端口。 Cucumber-JVM在Java中执行,SpecFlow在.NET中执行。如果您想在.NET中编写测试框架,那么您应该使用SpecFlow。
如果您正在编写验收测试(这是Cucumber真正的设计目标),那么您的框架必须与开发人员编写的语言完全相同。您的框架应该与您的应用程序分开备份,并且独立部署。您可以使用ruby框架测试PHP网站,使用Cucumber-JVM框架的Rails网站。只要您的部署过程能够处理它并且您能胜任该语言,它就无关紧要。