я використовую 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
Це вирішило проблему, коли це було.