布尔验证rSpec测试

时间:2013-08-13 20:52:26

标签: ruby-on-rails testing activerecord rspec boolean

我在编写测试时遇到问题,以确保字段:on_ride_photo是布尔值。

我的验证电话:

  validates :on_ride_photo,
    inclusion: [true, false]

我的测试:

it { should validate_presence_of(:on_ride_photo) }
it { should ensure_inclusion_of(:on_ride_photo).in_array([true, false]) }
it { should_not allow_value(4).for(:on_ride_photo) }
it { should_not allow_value('lots').for(:on_ride_photo) }

厂:

  factory :coaster do
    association :park
    name 'Nemesis'
    speed 60
    height 60
    length 160
    inversions 4
    on_ride_photo true
    lat 52.98694
    lng -1.88284
    dates_ridden '24th Jul 2013:4, 9th Aug 2009:7'
    powered false
  end

错误:

  

故障:

     

1)过山车验证不应允许将on_ride_photo设置为   “地段”        失败/错误:{should_not allow_value('lots')。for(:on_ride_photo)}          当on_ride_photo设置为“lots”时出现预期的错误,没有错误        './spec/models/coaster_spec.rb:98:in'块(3级)'

     

2)过山车验证不应允许on_ride_photo设置为4        失败/错误:它{should_not allow_value(4).for(:on_ride_photo)}          当on_ride_photo设置为4时出现预期的错误,没有错误        './spec/models/coaster_spec.rb:97:在'

中的块(3级)      

3)过山车验证不应允许将电源设置为“是”        失败/错误:{should_not allow_value('yes')。for(:powered)}          通电时出现的预期错误设置为“是”,没有错误        './spec/models/coaster_spec.rb:102:在'

中的块(3级)      

4)过山车验证应该要求设置on_ride_photo        失败/错误:它{should validate_presence_of(:on_ride_photo)}          当on_ride_photo设置为nil时,预期错误包括“不能为空”,出现错误:[“on_ride_photo未包含在列表中   (零)”]        #./spec/models/coaster_spec.rb:95:在'

中的块(3级)      

5)过山车验证应确保包含上电[true,   假]        失败/错误:它{should ensure_inclusion_of(:powered).in_array([true,false])}          [true,false]与验证中的数组不匹配        './spec/models/coaster_spec.rb:100:在'

中的块(3级)      

6)过山车验证不应允许将供电设置为4        失败/错误:{should_not allow_value(4).for(:powered)}          通电时预期的错误设置为4,没有错误        #./spec/models/coaster_spec.rb:101:in'块(3级)in'

     

7)过山车验证应确保包含on_ride_photo   [真假]        失败/错误:它{should ensure_inclusion_of(:on_ride_photo).in_array([true,false])}          [true,false]与验证中的数组不匹配        #./spec/models/coaster_spec.rb:96:在'

中的块(3级)

:powered也应该是一个布尔字段,所以我对它进行了相同的测试,因此它也出现在测试错误中。

0 个答案:

没有答案