测试字段是否包含带RSpec的2个字母字符串的正确方法是什么?我正在关注一个我认为在rails 2中工作的旧示例。它创建新的Address
实例,在其上设置无效值,然后在该实例上触发valid?
,最后检查{{1}报告错误。
errors
现在,Rails 3没有错误。所以我尝试了
it 'requires state to be of length 2' do
subject = Address.new
subject.state = 'Cal'
should_not be_valid
subject.errors.on(:state).should_not be_nil
end
但问题是subject.errors[:state].should_not be_nil
为空errors[:attribute]
而不是Array
。
答案 0 :(得分:0)
验证错误现在位于errors.messages
errors.messages.should be_present
答案 1 :(得分:0)
你仍然可以说
subject.errors[:state].should_not be_empty