(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)测试极端状况,须要根据范围确边界值取多个值测试