【问题标题】:How can a gem provide Cucumber features and step definitions?gem 如何提供 Cucumber 功能和步骤定义?
【发布时间】:2012-07-26 17:53:13
【问题描述】:

我有两个 Rails 项目(A 和 B),其中包括以下 gem:

#project A
gem "green_theme", :path => "~/dev/themes/green_theme"
gem "devel_tasks", :path => "~/dev/themes/devel_tasks"

#project B
gem "red_theme", :path => "~/dev/themes/red_theme"
gem "devel_tasks", :path => "~/dev/themes/devel_tasks"

项目 A 和 B 都有一个 features 目录,用于存储功能和步骤。 红色和绿色这两个主题都应该具有共同的功能,例如 登录/注销按钮、html 元标记等。

我需要做的是放置常用主题相关的功能和步骤 在 devel_tasks gem 中。这样我就可以分享测试和使用 他们检查给定的模板是否符合标准。

测试我需要做的事情的一个简单方法是创建一个新的 Rails 项目 使用示例黄瓜功能,然后尝试运行“黄瓜 示例/i18n/en/features”。

【问题讨论】:

    标签: ruby-on-rails ruby testing cucumber bdd


    【解决方案1】:

    如果可能的话,我会将这两个项目中的通用功能提取到一个 gem 中并在那里测试一次。

    如果由于某种原因这两个项目确实必须分别实现相同的功能:

    您可以在 gem 中提供步骤定义,只需将它们放在一个文件中并指示用户在他们的 env.rb 中require 该文件。

    我不知道有一种方法可以在 gem 中提供可以简单地运行的功能,因此您必须提供一个生成器,将功能复制到 features 目录。如果您要生成功能,用户生成步骤定义也可能更简单。

    【讨论】:

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