Rspec / FactoryGirl: очистить состояние базы данных
Я новичок в Rspec и Factory girl и хотел бы, чтобы мой тест выполнялся в определенном состоянии базы данных. Я понимаю, что могу заставить Factory Girl создавать эти записи, и объекты будут уничтожены после пробного запуска, но что произойдет, если у меня есть данные в базе данных.
Например: я хочу, чтобы мой тест выполнялся, когда в базе данных, созданной с помощью Factory Girl, есть 3 записи. Тем не менее, в настоящее время у меня уже есть 1 модель записи в базе данных, и я неЯ не хочу удалять его только для теста. Наличие этой 1-й модели разрушает мой тест.
Содержимое базы данных
[#]
leaderboard_spec.rb
require 'spec_helper'
describe Rom::Leaderboard do
describe "poll leaderboard" do
it "should say 'Successful Run' when it returns" do
FactoryGirl.create(:leaderboard, score: 400, name: "Alice")
FactoryGirl.create(:leaderboard, score: 300, name: "Bob")
FactoryGirl.create(:leaderboard, score: 200, name: "John")
Leaderboard.highest_scorer.name.should == "Alice"
end
end
end
Теперь мой тест не пройден, потому что он неверно предположит, что Труди является лучшим бомбардиром, поскольку тест был выполнен в неправильном состоянии.
Предлагает ли фабричная девушка удалить записи из базы данных, а затем откатить это удаление? Аналогично тому, как он создает записи в базе данных и откат