我想單元測試使用RSpec爲回報率的方法和有一個方法是這樣的:Ruby/Rails測試 - 範圍之外的訪問變量?
def create_record(obj, params)
begin
obj.add_attributes(params)
result = obj.save
rescue
MyMailer.failed_upload(@other_var, obj.api_class_name, params).deliver_now
end
end
create_record
從不直接調用,而是通過其填充在適當@other_var
另一種方法。
我應該如何去測試代碼以確保MyMailer被正確調用?我應該通過@other_var
進入該方法,而不是依賴它在其他地方填充(又名:這是代碼味道?)?謝謝!
存根'obj.save'引發一些錯誤,並檢查'ActionMailer :: Base.deliveries.count'是否增加了一個。 –