/ / Не можу очистити Монго БД під час роботи тесту - рубін на рейках, mongodb, rspec, mongoid, database-cleaner

Не вдається очистити Mongo DB під час роботи тесту - ruby-on-rail, mongodb, rspec, mongoid, database-cleaner

я використовую rails, mongoid, spork, rspec.

Під час виконання тестів через rspec Я бачу збільшення кількості записів у моїй базі даних. Ні purge! ні database_cleaner не допомогло.

Мій тест є:

describe MyConvertor do
context "working with my model"
before(:each) do
FactoryGirl.create :my_model
end
# examples go here
end
end

І мій Спеціальний помічник:

Spork.each_run do
RSpec.configure do |config|
# ...
config.before(:each) do
Mongoid.purge!
end
# ...
end
end

Як я вже згадував раніше, я також намагався database_cleaner а речі не змінювалися:

Spork.prefork do
RSpec.configure do |config|
config.order = "random"
config.use_transactional_fixtures = false
end
end

Spork.each_run do
RSpec.configure do |config|
config.before(:suite) do
DatabaseCleaner[:mongoid].strategy = :truncation
end

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

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

Отже, у мене є кілька запитань одразу: чому purge! нічого не робить і чому DatabaseCleaner не працює.

я знайшов проблема з очищенням баз даних, але ніякого корисного рішення немає.

я використовую

rails 3.2.11
mongoid 3.0.23

Відповіді:

1 для відповіді № 1

У мене це було на Mac OSX el capitan:

на терміналі:

brew doctor

це показало мені це попередження:

"Warning: /usr/bin occurs before /usr/local/bin This means that system-provided programs will be used instead of those provided by Homebrew."

Тоді мені потрібно було змінити порядок в / etc / paths, що робить "usr / local / bin" і "/ usr / local / sbin" на вершині.

на терміналі знову:

sudo vi /etc/paths

/usr/local/bin
/usr/local/sbin
/usr/bin
/bin
/usr/sbin
/sbin

Це вирішило проблему, коли це було.