Я хочу очистить тестовую базу данных перед запуском каждого файла спецификации.Как очистить базу данных перед запуском каждого файла спецификации?
Я уже использую rspec с заводской девушкой.
Спасибо, Hare
Я хочу очистить тестовую базу данных перед запуском каждого файла спецификации.Как очистить базу данных перед запуском каждого файла спецификации?
Я уже использую rspec с заводской девушкой.
Спасибо, Hare
Добавить в RSpec.configure
блок в вашем spec_helper.rb
config.before(:suite) do
DatabaseCleaner.clean_with :truncation
end
config.before(:each) do
DatabaseCleaner.strategy = :transaction
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
должны работать
На самом деле в моей спецификации/контроллерах склад имеет много контроллеров, я хочу очистить мою базу данных перед запуском каждого контроллера. –
Перед выполнением каждого теста следует очистить свою базу данных. Необходимо убедиться, что ранее выполненный тест не повлиял на тестовую среду, подготовленную для текущего теста, например. в тестовой базе данных не было никакого мусора. – VAD
Это то, что я обычно делаю для DatabaseCleaner
# Database Cleaner
config.before(:suite) do
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with(:truncation)
end
config.before(:each) do
DatabaseCleaner.start
end
config.after(:each) do
DatabaseCleaner.clean
end
Это сделает уверенный, что ты e чистая база данных для каждого теста.
Оформить заказ a related, albeit old, article by Avdi для получения дополнительной информации.
Вы используете 'database_cleaner' gem? – Pavan
Да, я использую его. Но не уверен, как писать для каждого файла. –