RSpec模型測試

(1)模型測試應該包含:測試

    針對create方法的測試,若是參數盒飯,測試應該經過;ui

    沒法經過數據驗證的數據,測試應該失敗;spa

    測試類方法和實例方法是否能夠正常使用; it

(2)rspec的測試文件命名必須是測試文件名_spec.rb,同時必須遵照測試的文件夾約定    require

(3)每一個測試文件頂部都應該包含require 'spec_helper'model

(4)RSpec V2.11版本後使用了expect().to和expect().to_not + 匹配器替代了老版本的should和should_not方法

(5)RSpec匹配器:be_true、be_valid、have(number).errors_on(:attribute)、eq、includeerror

(6)在model測試中,當側類方法和實例方法時,一個方法須要分幾種狀況測試的,最好在嵌套一個describe,describe內用context區分每種狀況命名

(7)能夠用before :each {}來去除重複,before :each只在定義的代碼塊中有效數據

(8)除了before外,還有after,用於每一個case後執行,已before用法一致

(9)可讀性>消除代碼重複的重要性,當在消除代碼重複會影響可讀性時,能夠適當的有些重複

(10)每一個測試只測試一種狀況,明確指定但願獲得的結果,使用動詞說明

(11)測試但願看到的和不但願看到的結果:分兩種狀況思考,分別測試

(12)測試極端狀況,須要根據範圍確邊界值取多個值測試

相關文章
相關標籤/搜索