似乎我的助手(有时是我的模型)在每次使用 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 回答