为什么cucumber甚至其支持的BDD工具都需要specflow

为什么cucumber甚至其支持的BDD工具都需要specflow,cucumber,bdd,specflow,Cucumber,Bdd,Specflow,我试图找到为什么使用.NET开发BDD测试自动化框架需要specflow。Cucumber本身就是一个BDD工具,为什么我们不能在.NET项目中直接使用Cucumber呢 是一个应用程序,它读取小黄瓜语法纯文本规范文件并运行ruby文件来执行这些规范 Specflow是cucumber for.net的“端口”,它也使用Gherkin语法文件,但将它们连接到.net代码。如果你看一下,它说在.net中使用cucumber是通过SpecFlow实现的 我认为除非您考虑使用iron ruby,否则您

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

是一个应用程序,它读取小黄瓜语法纯文本规范文件并运行ruby文件来执行这些规范

Specflow是cucumber for.net的“端口”,它也使用Gherkin语法文件,但将它们连接到.net代码。如果你看一下,它说在.net中使用cucumber是通过SpecFlow实现的


我认为除非您考虑使用iron ruby,否则您无法在.net中运行cucumber…

cucumber主要是为ruby项目编写的,并在ruby中执行

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


如果您正在编写验收测试(Cucumber的设计初衷就是为了这个),那么您的框架就没有理由必须使用与开发人员编写的语言相同的语言。您的框架应该位于应用程序的单独repo中,并独立部署。您可以使用ruby框架测试PHP网站,使用JVM框架测试Rails网站。。只要您的部署过程能够处理,并且您能够胜任该语言,这并不重要。

请编辑以获得正确的语法。除此之外,如果您能够阅读并澄清“Cumber中需要specflow”的确切含义、您的期望以及它与您的期望之间的差异,这将大大有助于帮助其他人理解您的问题。我们大量定制了自己的Gerkin命令。使用几百行PHP生成自定义的When/Then命令。如果我们使用非php或非javascript的小黄瓜工具,我们会在构建链中引入另一种语言。我想我的观点是,不必这样。但我通常建议人们坚持使用同一种语言。对于前端测试,它不必是。我更喜欢Java,因为它提供了大量的成熟库、教程和工具,完全免费。很可能您在PHP中编写的任何自定义内容都已经在Maven Repo的1400万可用库中完成了。