ruby-on-rails - 如何在rails中为异常编写rspec?
问题描述
我有一个交互器需要进行异常测试,但我无法通过规范
交互体
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
规格
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
获取失败 失败/错误:如果 record.fail 在执行 rspec时引发 StandardError,则“无法处理记录”
我无法判断需要做什么提前谢谢
解决方案
使用块来满足您的期望:
expect{
described_class.call(records: @record)
}.to raise_error('record cannot be processed')
推荐阅读
- css - 在 CSS 中定位元素
- javascript - 节点:将 ES6 JS 模块合并到一个 .min.js 文件中
- javascript - Swift和Javascript不同的Bitwise计算结果
- linux - How can I enable auto-login into Debian 10 xfce session?
- amazon-web-services - EC2 实例自动加入 EC2 中托管的 AD
- github-actions - github 动作矩阵中的配对值
- javascript - Select2 函数不能以动态形式工作
- angular - 如何根据元素数量添加传单地图
- azure-devops - AzureDevops:使用来自另一个管道的工件
- ruby-on-rails - Rails 和 Rake 中止!未知二进制格式