RSpec模型简单测试(二)

测试错误也要通过方法

上一节我们我搭建了一个简单的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设置一个字符串,这样子就可以啦

不用担心,测试同样是通过的。

以上两种方式说明:测试单独对模型测试,没有涉及到其他包括数据库在内。

小记到此结束。请大佬们笔下留情。。

你可能感兴趣的:(RSpec模型简单测试(二))