如何在Rails中为异常编写rspec?

问题描述 投票:0回答:1

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

交互体

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个回答
0
投票

根据您的期望使用块:

expect{
  described_class.call(records: @record)
}.to raise_error('record cannot be processed')
© www.soinside.com 2019 - 2024. All rights reserved.