我正在使用以下技巧(来自http://mikbe.tk/2011/02/10/blazingly-fast-tests/)来确保在使用 Spork 运行的每个 RSpec 上重新加载模型:
Spork.each_run do
load "#{Rails.root}/config/routes.rb"
Dir["#{Rails.root}/app/**/*.rb"].each { |f| load f }
# .....
end
但是,每次我运行测试时它都会导致以下警告:
/myproject/app/models/model.rb:36: warning: already initialized constant CONFIGURABLE
我可以通过放置来避免:
if !defined?(A_CONSTANT)
在每个常数之后,这看起来并不正确(但它有效)。关于如何使这项工作正常工作的任何建议?(即我的模型仍会在测试中重新加载,但我不必if
在每个常量定义之后添加。)