Spork を実行するたびにヘルパー (および場合によってはモデル) がリロードされていないようです。「Spork.each_run」ブロックには何を入れるべきですか?
2459 次
3 に答える
8
私は同じ問題を抱えていたので、これを each_run ブロックに設定しました:
Spork.each_run do
# This code will be run each time you run your specs.
ActiveSupport::Dependencies.clear
ActiveRecord::Base.instantiate_observers
FactoryGirl.reload
Dir[File.join(File.dirname(__FILE__), '..', 'app', 'helpers', '*.rb')].each do |file|
require file
end
end
また、config/environments/test.rb でこれを忘れないでください:
config.cache_classes = !(ENV['DRB'] == 'true')
于 2011-12-16T20:36:24.737 に答える
1
それらをpreforkブロックにロードしたことが原因である可能性があります。そこに物をロードすると、テストの実行が速くなりますが、リロードが必要になる場合があります。「each_run」ブロックでロードできますが、テストは遅くなります。速度を優先する場合は、リロードが必要であることがわかったときに Spork サーバーを再起動できます。このようにして、preforkブロックが再び実行され、モデルとヘルパーがリロードされます。
于 2011-11-29T00:22:25.130 に答える
-3
Ryan Bates の RailsCast で説明されているように、Guard gem も使用しているからかもしれません。
于 2012-09-27T13:49:37.503 に答える