Datamapper в базе данных памяти

Легко настроить Datamapper с базой данных Sqlite3 в памяти с помощью: DataMapper.setup :default, 'sqlite3::memory: '.

Однако при тестировании я хотел бы уничтожить всю базу данных в памяти после каждого теста, вместо того, чтобы вызывать автоматическую миграцию! как ярлык, чтобы все бросить. Является ли это возможным? Или достаточно установить для репозитория по умолчанию значение nil и позволить сборщику мусора избавиться от него?


person Daniel Ribeiro    schedule 13.05.2010    source источник


Ответы (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
person x1a4    schedule 14.05.2010