почему mongodb не работает с rails3 и rspec? - PullRequest
1 голос
/ 26 мая 2011

У нас есть приложение rails 3, mongodb, использующее rspec, очень нормальная настройка. Я думаю, что в spec_helper:

  DatabaseCleaner.strategy = :truncation
  DatabaseCleaner.orm = "mongoid"
  config.before(:each) do
    DatabaseCleaner.clean
  end

Но по какой-то причине монго, по-видимому, просто непоследовательно проваливается в тестах.То есть, 50% времени спецификация будет работать и никаких сбоев.Но в 50% случаев простой запрос к mongo вернет нулевой объект и вызовет сбой спецификации.Есть идеи, с чего начать отладку?Этого никогда не происходит в режиме разработки с браузером, использующим приложение, там монго твердая.Это может быть тестовый env?

Ответы [ 2 ]

1 голос
/ 26 мая 2011

Вы можете сделать это без DatabaseCleaner с:

config.before :each do
  Mongoid.master.collections.select {|c| c.name !~ /system/ }.each(&:drop)
end
1 голос
/ 26 мая 2011

Попробуйте это:

DatabaseCleaner.strategy = :truncation
Databasecleaner.orm = "mongoid"

config.before(:each) do
  DatabaseCleaner.clean_with(:truncation)
  DatabaseCleaner.start
end

config.after(:each) do
  DatabaseCleaner.clean
end
...