0
下面不寫我的數據庫,所以我的測試失敗:「讓」在rspec的不寫入數據庫
let(:level_1) { Fabricate(:level, number: 1, points: 100) }
let(:level_2) { Fabricate(:level, number: 2, points: 200) }
Level.count # 0
但是,下面的工作做
before do
level_1 = Fabricate(:level, points: 100, number: 1)
level_2 = Fabricate(:level, points: 200, number: 2)
end
Level.count # 2
這似乎很奇怪。
,因爲這使。所以如果我打電話給level_1,那麼Level.count == 1?另外,我也參與了一個不需要我使用let的項目。發送到數據庫。有沒有我可以在spec_helper中更改的選項來執行此操作? – josh
@josh在每個示例之前使用'let!'或定義'before'塊並調用'level_1'。 ''' 做 LEVEL_1 LEVEL_2 年底前 ''' 在運行示例之前這將創建的記錄。我更喜歡'let!',因爲它的筆畫數量較少。 –