我有两个Rails项目(A和B),其中包括以下宝石:
#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两个项目都有功能和步骤的功能目录。 红色和绿色这两个主题都应具有相同的功能 登录/注销按钮,html元标记等。
我需要做的是放置与常见主题相关的功能和步骤 在devel_tasks gem里面。这样我就可以分享测试和使用 它们用于检查给定模板是否符合标准。
测试我需要做的一个简单方法是创建一个新的Rails项目 使用样本黄瓜功能,然后尝试运行“黄瓜 实例/ I18N / EN /功能”。
答案 0 :(得分:0)
如果可能的话,我会将两个项目中的常用功能提取到一个gem中并在那里进行测试。
如果出于某种原因,这两个项目必须分别实现相同的功能:
您可以在gem中提供步骤定义,只需将它们放在一个文件中,并指示用户在其env.rb中require
该文件。
我不知道如何在gem中提供可以简单运行的功能,因此您必须提供将功能复制到功能目录的生成器。如果你要生成这些功能,那么用户生成步骤定义可能更简单。