在上一篇《自动化测试狂人的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 阅读(676)
评论(0) 编辑 收藏 所属分类:
RoR