Другая возможность, которую я только что использовал, - это неправильный блок before
.
Я случайно установил блок before
как all
вместо each
:
before :all do
user = FactoryGirl.create(:user)
sign_in user
end
Это заставило user
задерживаться в базе данных на весь прогон rspec
, что вызывало коллизии при проверке.
Вместо этого before
должно быть each
чтобы все было чистым в ходе rspec
запуска:
before :each do
user = FactoryGirl.create(:user)
sign_in user
end
Если вы допустили эту ошибку, вам, вероятно, потребуется вручную очистить тестовую базу данных, прежде чем все вернется в нормальное состояние.Самый простой способ сделать это, вероятно, обрезать каждую из таблиц (кроме schema_migrations
).