情况比较特殊,我想把development里边的数据直接导到test数据库里进时测试,关键是rail在进行测试之前会清除掉test里的所有数据,再从fixture里导入新的数据。
请问一下有没有什么配置能让测试之前不删除原有数据? 有一个方法是先把dev的数据做成fixture, 然后跑测试时再由fixture导入test数据库,数据量一大就没戏了
night老大很对,理论上是Rails并不支持测试的时候,不加载fixture
除非,你进到源代码里,修改Rails的测试运行机制,
如果,你想考虑的话,你可以参考下
[url]http://www.iteye.com/topic/352443[/url]
是我看ruby UnitTest一点理解,或许有帮助。
不行的。
你可以考虑in memory db,速度快很多。
修改database.yml的test段
[code="yml"]
test:
adapter: sqlite3
database: ":memory:"
[/code]
在environment.rb最后,添上
[code="ruby"]
if 'test'==ENV['RAILS_ENV']
load "#{RAILS_ROOT}/db/schema.rb"
end
[/code]