我正在为我的第一个Rails应用程序编写一些代码,似乎无法找到查找验证错误的最佳方法,这样我就可以轻松地将它们放入,而不必重复自己。
我想转此:
let(:error_messages) { page.find 'div#error_explanation ul' }
specify { error_messages.should have_content "Name can't be blank" }
specify { error_messages.should have_content "Email can't be blank" }
specify { error_messages.should have_content "Email is invalid" }
specify { error_messages.should have_content "Password can't be blank" }
specify { error_messages.should have_content "Password is too short (minimum is 6 characters)" }
specify { error_messages.should have_content "Email is invalid" }
这样的事情:
let(:error_messages) { page.find 'div#error_explanation ul' }
specify { error_messages.should have_content "errors.name_blank" }
specify { error_messages.should have_content "errors.email_blank" }
specify { error_messages.should have_content "errors.email_invalid" }
specify { error_messages.should have_content "errors.password_invalid" }
specify { error_messages.should have_content "errors.password_short" }
specify { error_messages.should have_content "errors.email_invalid" }
谢谢!
答案 0 :(得分:1)
您是否已经在测试模型验证?如果是这样,请道歉。
否则,您应该考虑使用errors_on帮助程序并自行测试模型,如here on rspec's relish pages所述。这种方法既可以更快地执行,也可以在标记更改时更轻松。
describe ValidatingWidget do
it "fails validation with no name (using error_on)" do
ValidatingWidget.new.should have(1).error_on(:name)
end
end