4

私は 2 つの 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 の両方のプロジェクトには、機能と手順の機能ディレクトリがあります。赤と緑の両方のテーマには、ログイン/ログアウト ボタン、html メタ タグなどの共通の機能が必要です。

私がする必要があるのは、devel_tasks gem 内に共通のテーマ関連の機能とステップを配置することです。このようにして、テストを共有し、それらを使用して、特定のテンプレートが標準に準拠しているかどうかを確認できます。

必要なことをテストする簡単な方法は、サンプルの Cucumber 機能を含む新しい Rails プロジェクトを作成し、「cucumber examples/i18n/en/features」を実行してみることです。

4

1 に答える 1

0

可能であれば、2 つのプロジェクトから共通の機能を抽出して gem にし、そこで一度テストします。

何らかの理由で、2 つのプロジェクトが同じ機能を別々に実装する必要がある場合:

requireステップ定義をファイルに入れ、env.rb でそのファイルをユーザーに指示するだけで、gem でステップ定義を提供できます。

単純にその場で実行できるgemで機能を提供する方法がわからないため、機能をfeaturesディレクトリにコピーするジェネレーターを提供する必要があります。また、機能を生成する場合は、ユーザーがステップ定義も生成する方がおそらく簡単です。

于 2014-05-08T20:21:29.957 に答える