我有这样的一段代码,我想测试:如何创建ActiveRecord :: RecordInvalid进行测试?
def error_from_exception(ex)
if ex.is_a?(ActiveRecord::RecordInvalid)
...
要进入if块,我需要在正确的ex
参数去传递。
如何创建一个ActiveRecord :: RecordInvalid?
使用RSpec,我试图做这样的事情:
context 'exception is ActiveRecord::RecordInvalid' do
it 'returns the validation error' do
begin
raise ActiveRecord::RecordInvalid
rescue Exception => ex
binding.pry
###
# From my pry session:
# $ ex
# $ <ArgumentError: wrong number of arguments (0 for 1)>
# $ ex.class
# $ ArgumentError < StandardError
###
end
end
end
如何找出参数键入库想要?
是的,这正是我最终做的。它也可以使用有效的记录,那里不会有任何消息。 (:ex){ActiveRecord :: RecordInvalid.new(user)}'let!(:user){FactoryGirl.create(:user)}' 'let! – 2014-09-24 20:38:48