次のトリック ( 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
(つまり、私のモデルはテストで再ロードされますが、すべての定数定義の後に置く必要はありません。)