Как можно написать правильное модульное тестирование (и интеграционное тестирование) с использованием MongoDB через Mongoid on Rails?
Я спрашиваю, потому что в противоположность использованию, скажем, SQLite3, даже при выполнении тестов все, что я делаю, сохраняется. На данный момент я пишу тест на создание, а затем вручную удаляю все, что я делаю. Но это становится раздражающим и даже сложным для интеграционного тестирования.
Пример того, что я делаю:
before(:each) do
@user = User.create!(@attr)
end
after(:each) do
# MongoDB is not a transactional DB, so added objects (create) during tests can't be rollbacked
# checking for the existance of a similar object with exact :name and :email (regex make it case insensitive)
cleanup = User.where(:name => "Example User", :email => /^user@example.com/i)
cleanup.destroy unless cleanup.nil?
end
Есть идеи, как сделать MongoDB непостоянным во время тестирования? (Я даже не могу запустить консоль в режиме песочницы, потому что для использования Mongoid мне пришлось отключить активную запись).