【问题标题】:Rails BDD: Cucumber alternativesRails BDD:黄瓜替代品
【发布时间】:2014-03-18 17:35:28
【问题描述】:

我正在为 ruby​​ on rails 应用程序寻找一个简单的英语 BDD 工具。我很久以前就用过 Cucumber,我真的很喜欢它。

我正在尝试找出黄瓜是否有任何替代品,以及它们与黄瓜相比有多好。

我知道在 SO 中有很多关于此的问题。但它们真的很老了,而且大多数其他工具当时都不存在。

【问题讨论】:

  • 这是一个非常不清楚的问题。您是在寻找所有 BDD 框架,还是只寻找具有 Cucumber 简单英语语法的框架? RSpec 非常适合与 Rails 很好地配合使用的纯 BDD 测试框架,但您可以使用 Turnip RSpec extension 以允许 RSpec 使用 Cucumber 纯英语样式语法。跨度>

标签: ruby-on-rails cucumber bdd


【解决方案1】:

如果一些重要的测试读者,比如客户,想要阅读测试并且他们不懂编程,那么据我所知,没有 Cucumber 以纯文本形式编写测试的好选择。

但 Cucumber 是有代价的。您需要编写纯文本并编写代码来解析它。程序员可以直接阅读测试代码,无需纯文本作为媒体。如果客户不需要阅读测试而只需要阅读故事,则不需要 Cucumber。

所以出现了 Steak gem,它使用类似于 Ruby 和 Cucumber 的语法来编写测试,直接测试,无需解析纯文本。

但后来,这颗宝石已经过时了,因为水豚吃过牛排。 Capybara 现在具有相同的 BBD 语法,例如 feature(在 Rspec 中等于 describe)、scenario 等于 it 等等。

所以我的结论是,如果不需要为开发人员之外的人准备纯文本,请使用 Capybara,既好又简单。否则仍然使用Cucumber。

【讨论】:

    【解决方案2】:

    过去 4 年我一直在使用 Cucumber,但现在我要搬到 Spinach。 就小黄瓜(简单英语的场景)而言,它就像 Cucumber,但步骤是在 Ruby 中,没有任何疯狂的正则表达式。显然你可以使用 Capybara、Rspec、Minitest。

    这是更简洁的解决方案,并且更容易保持最新的 BDD 良好实践。

    现在我在同一个项目中同时使用两个框架(Cucumber、Spinach),直到我将所有功能都移到 Spinach。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多