1
我无法让我的测试通过字段可以为空字符串但不能为空的地方。Rails,shoulda和rspec,Column Not Null
我用这个stackeroverflow post为豆蔻帮助
却找不到更多的帮助我。
在我schema.rb文件,我看到:
t.string "CUSTID", :limit => 8, :default => "", :null => false
当我运行针对这一个RSpec测试,我只会验证仍然允许它为空。你能解释为什么我的测试(下)会失败吗?
it 'CUSTID may not be nil' do
should_not allow_value(nil).for(:CUSTID)
end
然后我试着在模型中单独使用这些验证方法。
validates :TNCUSTID, :allow_nil => false
validates :TNCUSTID, :format => {:with => /^(CU)(\d{6})$|(^$)/ }
,甚至离开验证了完全
#validates :TNCUSTID, :allow_nil => false
在所有情况下我“不应该是零”的测试案例失败的客户ID
我的最终目标是说,该值可以是这种格式(上面的正则表达式),可以是空字符串,但根据数据库不能为空。
可有人请赐教