(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)測試極端狀況,須要根據範圍確邊界值取多個值測試