Datamapper в памяти базы данных - PullRequest
1 голос
/ 14 мая 2010

Простота установки Datamapper с базой данных Sqlite3 в памяти с: DataMapper.setup: по умолчанию, 'sqlite3 :: memory:'.

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

1 Ответ

1 голос
/ 14 мая 2010

Мой способ сделать это (в 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
...