2012-07-26 93 views
4

我有兩個軌道項目(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,有一個特徵dir來的特徵和步驟。 這兩個主題,紅色和綠色,應該有共同的功能,如 登錄/註銷按鈕,HTML元標記等。

我需要做的是將常見的主題相關功能和步驟 放置在devel_tasks gem中。通過這種方式,我可以共享這些測試並使用 來檢查給定的模板是否符合標準。

一個簡單的方法來測試什麼,我需要做的就是創建一個新的Rails項目 與樣品黃瓜功能,然後嘗試運行「黃瓜 例子/ i18n中/ EN /功能」。

回答

0

如果可能的話,我會將兩個項目中的通用功能提取到一個寶石中,然後在那裏進行測試。

如果由於某種原因,兩個項目真的要單獨實現相同的功能:

您只需將它們放在一個文件,並指示用戶require,在他們的ENV文件提供一個寶石的步驟定義.RB。

我不知道如何在gem中提供可以簡單運行的功能,因此您必須提供一個將功能複製到features目錄的生成器。如果您要生成這些功能,用戶可能也更簡單地生成步驟定義。