【问题标题】:How to write rspec for exception in rails? [duplicate]如何在rails中为异常编写rspec? [复制]
【发布时间】:2020-03-06 07:58:00
【问题描述】:

我有一个交互器需要进行异常测试,但我无法通过规范

交互主体

module RecordSchedules
  class UpdateRecords
    include PureInteractor

    attr_accessor :records

    def call(records:)
      records.each do |record|
        raise StandardError, 'record cannot be processed' if record.fail
      end
      records.update_attributes(units: 0)
    end
  end
end

Rspec

require 'rails_helper'

module RecordSchedules
  RSpec.describe UpdateRecords do

    before(:all) do
      # creation of record via factory.bot
    end


    context 'record should not saved' do
      it 'throw error when record is failed' do
        expect(described_class.call(records: @record)).to raise_error('record cannot be processed')
      end
    end
  end
end

失败 失败/错误:引发 StandardError,如果 record.fail 则“无法处理记录” 关于执行 rspec

我无法判断需要做什么 在此先感谢

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 rspec rspec-rails


    【解决方案1】:

    为你的期望使用一个块:

    expect{
      described_class.call(records: @record)
    }.to raise_error('record cannot be processed')
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多