RSpec模型簡單測試(二)

測試錯誤也要通過方法

上一節(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é)束。請大佬們筆下留情。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容