共有サンプルを変更したときにsporkにリロードする方法を教えてください。私は次のことを試してみましたが、それは彼らをリロードいない:Reload RSpec GuardとSporkの共有例
Spork.each_run do
Dir[Rails.root.join("spec/shared_examples/*.rb")].each {|f| require f}
end
を私は共有の例が変更されたとき、それはENVをリロード持っている私のGuardfileにウォッチャを追加することができることを知っているが、私のアプリケーションは大きく、約10かかります
watch(/^spec\/shared_examples\/.*\.rb$/)
もっと速いフィードバックループができるように変更された共有サンプルをリロードすることをお勧めします。環境設定ファイルtest.rb
で
、あなたはあなたがキャッシュしていないになり、この
config.cache_classes = !(ENV['DRB'] == 'true')
を持っていることを確認してください。ここでは
'prefork'ブロックで共有された例を**ロードしない**どうしますか? 'Dir [Rails.root.join(" spec/support/**/*。rb ")]があります。each {| f |私たちの 'prefork'ブロックにはf}'が必要です。すべてのもの(共有の例を含む)は確実に読み込まれます。あなたは共有された例が 'prefork'ブロックに読み込まれないようにするにはどうしたらいいですか? –
ああ、わかりました:私たちは 'spec/support/shared_examples'の下で共有サンプルを持っていました。あなたは' spec/shared_examples'の下にあります。それらを 'spec/shared_examples'に動かすのですが、これは共有された例がどこに属しているのでしょうか? 'support'フォルダーから移動したくない場合、' prefork'ブロックにロードされないようにするにはどうしたらいいですか? –
したがって、 'prefork'でこのコード行を使用すると、共有された例はロードされません:' Dir [Rails.root.join( "spec/support/**/*。rb")]。 f [%r {/ shared_examples /}]} .each {| f | f} 'が必要です。 –