似乎我的助手(有时是我的模特)在每次使用Spork时都没有重新加载。我应该把什么投入到我的" Spork.each_run"方框?
答案 0 :(得分: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')
答案 1 :(得分:1)
可能是因为您在 prefork 块中加载它们。如果你在那里加载东西,你的测试运行得更快,但有时你需要重新加载。您可以加载“each_run”块,但测试会更慢。如果您更喜欢速度,则可以在看到需要重新加载时重新启动Spork服务器。这样, prefork 块将再次运行,您的模型和帮助器将被重新加载。
答案 2 :(得分:-3)
我从未遇到过这些问题,也许是因为我还使用了像Ryan Bates的RailsCast中描述的Guard gem?