我有一个方法可以检查参数是否包含任何值,如果不是,它会引发将被挽救的错误,以便通知它并继续执行。
def check_value(options)
if options[:id].blank?
raise "An id must be provided"
end
options[:url] = generate_url_and_save()
save_without_issue(options[:url])
rescue ex
report_error(ex)
end
对于选项[:id]的场景,测试用例将变为空白。 我尝试了下面的代码但不确定它是否是正确的方法
context '#check_value' do
it 'should raise error if id is blank' do
expect{subject.check_value({:id=> ''}}.to raise_error
end
end
答案 0 :(得分:1)
是的,这是“正确的”。如果您想查看带有错误的消息,可以使用raise_error('An id must be provided')
。有关详细信息,请参阅https://www.relishapp.com/rspec/rspec-expectations/v/2-8/docs/built-in-matchers/raise-error-matcher。