測試錯誤也要通過方法
上一節(jié)我們我搭建了一個簡單的Rails項目,并加入簡單的測試,在測試的過程中如果用戶名為空,測試報錯,那么在很多情況下,我們在找錯誤的過程中,這并不是受到影響的主要錯誤,我要跳過該錯誤,簡言之就是讓這個錯誤的能夠驗證通過,本節(jié)我們來簡單探討一下。
在rails項目中,驗證的過程只和Models相關(guān),和Contrllers ,Views層沒有任何關(guān)系。那么用戶名為空不能通過測試,我們嘗試給它賦初始值,看看結(jié)果會如何?
方法一、修改模型,加入默認值:
field :name, type: String , default:"za"
此時,我們再執(zhí)行一次,通過測試
方法二、同樣修改模型,搞清楚模型里面的字段也是屬性,模型是一個類,也就是說只要在這個類加上類的屬性以后同樣可行,只不過代碼徹底改變了,代碼如下:
class Patient
? # include Mongoid::Document
? # field :name, type: String , default:"za"
? # field :sex, type: String
? def name
? @name
? end
? def name=(val)
? @name = val
? end
end
上面類的屬性也等同于下面:
attr_accessor :name
處理好這一切以后 我們將set方法@name設(shè)置一個字符串,這樣子就可以啦
不用擔心,測試同樣是通過的。
以上兩種方式說明:測試單獨對模型測試,沒有涉及到其他包括數(shù)據(jù)庫在內(nèi)。
小記到此結(jié)束。請大佬們筆下留情。。