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