在上一篇《自動化測試狂人的Rails測試優化之路》中,我演示了如何使用Guard-spork, Guard-rspec和Spork, Rspec來進行自動化測試和集成測試。
今天發現存在一個bug,那就是當model文件被修改后,雖然會重新啟動rspec執行測試。但是測試的代碼不是最新的,而是繼續沿用已經加載到內存的model文件。網上搜索一番后,發現問題的原因是spork的預加載問題。于是在spork的spork.each_run方法中加入如下代碼,重啟sprok,解決問題
Dir["#{Rails.root}/app/models/**/*.rb"].each do |model|
load model
end

-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2011-09-06 14:21
Paul Lin 閱讀(706)
評論(0) 編輯 收藏 所屬分類:
RoR