我是Rspec和Factory女孩的新手,希望我的測試能夠在特定的數據庫狀態下運行。我知道我可以讓Factory Girl創建這些記錄,並且這些對象在測試運行後會被銷燬,但是如果我在數據庫中有數據會發生什麼。Rspec/FactoryGirl:清理數據庫狀態
例如:我希望我的測試在我通過Factory Girl創建的數據庫中有3條記錄時運行。但是,我目前已經在數據庫中有1個模型記錄,並且我不想僅僅爲了測試而刪除它。在那裏有1個模型會毀掉我的測試。
數據庫內容
[#<Leaderboard id: 1, score: 500, name: "Trudy">]
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
現在我的測試將失敗,因爲它會錯誤地認爲特魯迪是最高的得分手,因爲測試已經在運行錯誤的狀態。
工廠的女孩提供反正從數據庫中刪除記錄,然後回滾此刪除?類似於它如何在數據庫中創建記錄並回滾
工廠女孩提供反正從數據庫中刪除記錄,然後回滾此刪除?類似於它在數據庫中創建記錄並回滾 – user2158382
原始問題似乎在問如何保持現有記錄完好。他關於撤消刪除的問題是一個想法,但另一種方法可能是完全避免刪除。 –
巨大的幫助thx這麼多 – austin