スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

bundleで起動した中で別のbundleを呼ぶ方法

rspecを起動するのにbundlerを使っているんですが、テストの中で別のbundlerで管理されているスクリプトが叩きたくなりました。何も考えずに呼ぶと現在のGemfileのライブラリにアクセスしてしまい、うまくうごきません。bundlerのヘルプを眺めていたら、まさにそのような目的でBundler.with_clean_envというメソッドがありました。
以下のように書くと呼び先のGemfileを使うようになります。

#coding: utf-8
require 'spec_helper'

describe "外部スクリプト" do
it "バッチ実行" do
Bundler.with_clean_env do
systemu 'bundle exec ruby -I lib main/batch.rb', :env => {:ENVIRONMENT => 'test'}, :cwd => '../../script'
end
end
end
end
スポンサーサイト

COMMENTS

COMMENT FORM

TRACKBACK


この記事にトラックバックする(FC2ブログユーザー)

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。