Как было бы написано надлежащее модульное тестирование (и интеграционное тестирование, если на то пошло) с использованием MongoDB через Mongoid on Rails?
Я спрашиваю, потому что, наоборот, используя let say 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 => /^[email protected]/i)
cleanup.destroy unless cleanup.nil?
end
Любая идея, как сделать MongoDB не стойким во время тестирования? (Я даже не могу запустить консоль в режиме песочницы, потому что для использования Mongoid мне пришлось деактивировать Active Record).