我正在为 ruby on rails 应用程序寻找一个简单的英语 BDD 工具。我很久以前就用过黄瓜,我真的很喜欢它。
我试图找出黄瓜是否有任何替代品,以及它们与黄瓜相比有多好。
我知道在 SO 中有很多关于这个的问题。但是它们真的很老了,当时大多数其他工具都不存在。
我正在为 ruby on rails 应用程序寻找一个简单的英语 BDD 工具。我很久以前就用过黄瓜,我真的很喜欢它。
我试图找出黄瓜是否有任何替代品,以及它们与黄瓜相比有多好。
我知道在 SO 中有很多关于这个的问题。但是它们真的很老了,当时大多数其他工具都不存在。
如果测试的一些重要读者,比如客户,想要阅读测试并且他们不知道编程,那么据我所知,Cucumber 没有很好的选择以纯文本形式编写测试。
但黄瓜是有代价的。您需要编写纯文本并编写代码来解析它。程序员可以直接阅读测试代码,无需纯文本作为媒体。如果客户不需要阅读测试而只需要阅读故事,则不需要 Cucumber。
所以出现了 Steak gem,它使用类似于 Ruby 和 Cucumber 的语法来编写测试,直接测试,无需解析纯文本。
但后来,这颗宝石已经过时了,因为水豚吃过牛排。Capybara 现在具有相同的 BBD 语法,例如feature
(describe
在 Rspec 中等于)、scenario
等于it
等。
所以我的结论是,如果不需要为开发人员之外的人准备纯文本来阅读,使用 Capybara,又好又简单。否则仍然使用Cucumber。
过去 4 年我一直在使用 Cucumber,但现在我要搬到Spinach了。就小黄瓜(简单英语的场景)而言,它就像 Cucumber,但步骤是在 Ruby 中,没有任何疯狂的正则表达式。显然你可以使用 Capybara、Rspec、Minitest。
这是更清洁的解决方案,并且更容易保持最新的 BDD 良好实践。
现在我在同一个项目中使用这两个框架(Cucumber、Spinach),直到我将所有功能都移到 Spinach 上。