【发布时间】:2015-02-11 21:55:55
【问题描述】:
我有一个模型可以验证名称和条款的接受度
class Product < ActiveRecord::Base
validates :name, presence: true,
length: { maximum: 50 }, on: :update
validates_acceptance_of :agreed_to_terms, on: :update
我写了一个简单的测试
it 'redirects back if there is missing info' do
post "/product/1", {:name => "john"}
expect(ActiveRecord).to raise_error(StatementInvalid)
end
我似乎无法捕捉到错误。
ActiveRecord::StatementInvalid:
SQLite3::ConstraintException: NOT NULL constraint failed:
【问题讨论】:
-
你确定这个错误是真的出现的吗?通常,验证只会导致模型为
valid?返回false。 -
验证不会引发该错误(使用
saveActiveRecord::RecordInvalid 时会引发
标签: ruby-on-rails rspec rspec3