测试错误也要通过方法
上一节我们我搭建了一个简单的Rails项目,并加入简单的测试,在测试的过程中如果用户名为空,测试报错,那么在很多情况下,我们在找错误的过程中,这并不是受到影响的主要错误,我要跳过该错误,简言之就是让这个错误的能够验证通过,本节我们来简单探讨一下。
在rails项目中,验证的过程只和Models相关,和Contrllers ,Views层没有任何关系。那么用户名为空不能通过测试,我们尝试给它赋初始值,看看结果会如何?
方法一、修改模型,加入默认值:
field :name, type: String , default:"za"
此时,我们再执行一次,通过测试
方法二、同样修改模型,搞清楚模型里面的字段也是属性,模型是一个类,也就是说只要在这个类加上类的属性以后同样可行,只不过代码彻底改变了,代码如下:
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设置一个字符串,这样子就可以啦
不用担心,测试同样是通过的。
以上两种方式说明:测试单独对模型测试,没有涉及到其他包括数据库在内。
小记到此结束。请大佬们笔下留情。。