私のRakeタスクの1つは、Rake::Task[:cucumber].invoke
でCucumberを呼び出します。それを行う前に、私のタスクは、キュウリのシナリオで使用されるべき変数のセットを設定します。RakeからCucumberシナリオへの引数を渡す
Rakeタスクで利用可能な値を、キュウリのBefore
宣言内で実行されるコードに渡すにはどうすればよいですか?ここで
私はRakefileを持っているコードです:、
Before do
if $site.ends_with?('.html')
@engine = PageTester
else
@engine = SiteTester
end
end
このコードは、派手な何かを行うことになっていないだけで選択します。これはBefore
のコードが今ある方法です
task :test, [:site] do |t, args|
args = args.with_defaults(:site => DEFAULT_SITE)
$site = args[:site]
Rake::Task[:cucumber].invoke
end
コマンドラインで受け取ったものに基づいて特定のクラスを作成します。 site
引数をBefore
のコードに渡すにはどうすればよいですか?
はい、私は知っていますが、もっと良い方法があることを望んでいました。 RackとCucumberは同じVM内で実行され、変数空間を共有します。彼らに話をする一般的な方法があると思いますが、そこにはありませんか? – gioele
キュウリの仕事はどのくらい正確に定義されていますか? – jodell
これは単なる 'キュウリ/レイク/タスク 'を必要とするものです。 Cucumber :: Rake :: Task.new'。 – gioele