我正在使用 Rspec 测试我的 ActiveRecord 模型。 我刚刚在其中一个验证中添加了自定义错误消息,就像这样:
validates :accepted_terms_at, :presence => {:message => 'You must accept the Terms and Conditions to use this site.'}
现在以下测试失败:
it { should validate_presence_of(:accepted_terms_at) }
...在错误信息中涉及到了当accepted_terms_at为nil时不能是空
的错误。
因此,测试用例失败是因为它正在查找验证错误消息,并期望找到默认消息。
我该如何告诉Rspec新的验证消息应该是什么?
我尝试过的方法
1)将消息作为参数:
it {should validate_presence_of(:accepted_terms_at, :message => 'your message')}
这会导致错误wrong number of arguments(2 for 1)
2)将消息作为链式方法调用:
it {should validate_presence_of(:accepted_terms_at).with('your message')}
这会抛出一个错误,因为没有with
方法。
it { should validate_presence_of(:accepted_terms_at, :message => 'your message') }
,但我不知道那是否有效,并且现在也没有测试的安装。 - Emily