如何在rails中为异常写rspec?
How to write rspec for exception in rails?
我有一个交互器需要进行异常测试,但我无法通过规范
交互体
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
获取失败
Failure/Error:引发标准错误,'record cannot be processed' 如果 record.fail
在执行 rspec
我无法判断需要做什么
提前致谢
根据您的期望使用块:
expect{
described_class.call(records: @record)
}.to raise_error('record cannot be processed')
我有一个交互器需要进行异常测试,但我无法通过规范
交互体
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
获取失败 Failure/Error:引发标准错误,'record cannot be processed' 如果 record.fail 在执行 rspec
我无法判断需要做什么 提前致谢
根据您的期望使用块:
expect{
described_class.call(records: @record)
}.to raise_error('record cannot be processed')