我正在使用 shoulda-callback-matchers gem 來測驗我的回呼。但我有一個問題,我after_save有condition。
中的回呼model:
after_save :update_effort_rate, if: -> { saved_change_to_rent? }
我的測驗spec:
context 'callbacks' do
it { is_expected.to callback(:update_effort_rate).after(:save).if :rent_changed? }
end
Rspec 錯誤:
Failure/Error: it { is_expected.to callback(:update_effort_rate).after(:save).if :saved_change_to_rent? }
expected update_effort_rate to be listed as a callback after save if saved_change_to_rent? evaluates to true, but was not
我不知道我做錯了什么。有什么幫助嗎?謝謝
uj5u.com熱心網友回復:
嘗試通過傳入方法名稱(而不是呼叫方法的 lambda)來更改 if 子句:
after_save :update_effort_rate, if: :saved_change_to_rent?
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/375563.html
標籤:红宝石轨道 红宝石 红宝石 rspec-rails
