我有這樣的一段代碼,我想測試:如何創建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