以下测试:
it { should have_valid(:date_time).when ("2014/April/15") }
it { should_not have_valid(:date_time).when ("2014/April/15000") }
it { should_not have_valid(:date_time).when ("2014/ZZZ/14") }
it { should_not have_valid(:date_time).when(nil, '') }
以下两个没有通过:
it { should_not have_valid(:date_time).when ("2014/April/15000") }
it { should_not have_valid(:date_time).when ("2014/ZZZ/14") }
我收到了两者的错误消息argument out of range
。在我的模型中,我有以下内容:
class Textmessage < ActiveRecord::Base
validates :date_time, presence: true
end
我需要在验证中添加什么才能通过?
这是should的预期行为。当为DateTime列给定其中一个字符串时,Rails将引发异常,而不是在模型上设置错误。