ruby-on-rails – 确保Rollbar报告了RSpec错误
发布时间:2020-12-17 02:24:51 所属栏目:百科 来源:网络整理
导读:我班级中的逻辑有时会使用Rollbar.silenced忽略一些异常(因此不会报告它们). 我正在尝试编写一个测试,确保rollbar实际报告错误. it 'does not mute rollbar' do expect(Rollbar).not_to receive(:silenced) expect(Rollbar).to receive(:error).with(any_arg
我班级中的逻辑有时会使用Rollbar.silenced忽略一些异常(因此不会报告它们).
我正在尝试编写一个测试,确保rollbar实际报告错误. it 'does not mute rollbar' do expect(Rollbar).not_to receive(:silenced) expect(Rollbar).to receive(:error).with(any_args).and_call_original expect { query }.to raise_error(unknown_exception) end 不幸的是,当报告未解决的错误时,rollbar不会用于:error,:critical,:warning等方法. 我在rollbar sourcecode中看到了report_exception_to_rollbar和call_with_rollbar,它们都是用Rollbar.scoped包装的. 所以我尝试用以下方法测试它: expect(Rollbar).接收(:scoped).with(any_args).and_call_original 但它也告诉我: Failure/Error: expect(Rollbar).to receive(:scoped).with(any_args).and_call_original (Rollbar).scoped(*(any args)) expected: 1 time with any arguments received: 0 times with any arguments 如何确保滚动条捕获异常并使用rspec进行测试? 解决方法
您要确保运行的行是
Rollbar.log call in exception_reporter.rb.(Rollbar.error,Rollbar.warning等只是Rollbar.log周围的包装.)
试试这个: expect(Rollbar).接收(:log).with(any_args).and_call_original (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |