shoulda gem allow_value方法

时间:2013-04-02 12:16:49

标签: ruby-on-rails rspec shoulda

old_spec.rb

it { should allow_value(:nil).for(:invoice_type) }
it { should allow_value(:customer_invoice).for(:invoice_type) }
it { should allow_value(:creative_invoice).for(:invoice_type) }
it { should_not allow_value(:other).for(:invoice_type) }

我在我的spec文件中有这些代码,我将它们转换成如下所示。

new_spec.rb

   it { should ensure_inclusion_of(:invoice_type).in_array(
     [:nil,:customer_invoice,:creative_invoice]) }

我想知道在第二个文件(new_spec.rb)中我是否必须写这行。

it { should_not allow_value(:other).for(:invoice_type) }

1 个答案:

答案 0 :(得分:0)

根据ensure_inclusion_of的工作原理说明,您不需要明确阻止其他值。

当然,自己检查这个很容易......