【发布时间】:2010-05-13 21:40:21
【问题描述】:
使用内存数据库中的 Sqlite3 很容易设置 Datamapper: DataMapper.setup :default, 'sqlite3::memory:'。
但是,在测试时,我想在每次测试后销毁整个内存数据库,而不是调用自动迁移!作为放弃一切的捷径。可能吗?或者将默认存储库设置为 nil 就足够了,让垃圾收集器处理它?
【问题讨论】:
标签: ruby orm testing datamapper
使用内存数据库中的 Sqlite3 很容易设置 Datamapper: DataMapper.setup :default, 'sqlite3::memory:'。
但是,在测试时,我想在每次测试后销毁整个内存数据库,而不是调用自动迁移!作为放弃一切的捷径。可能吗?或者将默认存储库设置为 nil 就足够了,让垃圾收集器处理它?
【问题讨论】:
标签: ruby orm testing datamapper
我这样做的方法是(在 rspec 中):
Spec::Runner.configure do |config|
config.before(:all) do
DataMapper.auto_migrate!
end
config.before(:each) do
DataMapper::Repository.context << repository(:default)
end
config.after(:each) do
DataMapper::Repository.context.pop
end
end
【讨论】: