gem如何提供Cucumberfunction和步骤定义?

我有两个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两个项目都具有function和步骤的function目录。 红色和绿色这两个主题应该具有共同的function,如登录/注销按钮,html元标记等。

我需要做的是将共同主题相关的function和步骤放在devel_tasks gem中。 这样我就可以共享测试并使用它们来检查给定模板是否符合标准。

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

如果可能的话,我会将两个项目中的常用function提取到gem中并在那里进行测试。

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

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

我不知道如何在gem中提供可以简单地运行的function,因此您必须提供将function复制到function目录的生成器。 如果您要生成function,则用户生成步骤定义可能更简单。