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