1

使用内存数据库中的 Sqlite3 设置Datamapper很容易:DataMapper.setup :default, 'sqlite3::memory:'。

但是,在测试时,我想在每次测试后销毁整个内存数据库,而不是调用自动迁移!作为放弃一切的捷径。是否可以?或者将默认存储库设置为 nil 并让垃圾收集器处理它就足够了吗?

4

1 回答 1

1

我这样做的方法是(在 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
于 2010-05-14T02:12:08.317 回答