Ruby rspec webmock to_引发错误而非引发错误
我有以下代码片段和测试Ruby rspec webmock to_引发错误而非引发错误,ruby,rspec,webmock,Ruby,Rspec,Webmock,我有以下代码片段和测试 类服务 状态(基本uri='localhost',基本认证={}) base_uri=“#{base_uri}/status” response=HTTParty.get(基本uri、基本认证:基本认证) 营救标准错误=>e 捆绑,撬动 引发“错误发生代码:#{response.code}msg:#{e.message}” 结束 结束 it'如果url无效,则应返回错误消息'do' 错误的url=”http://bar_url.com" 预期='发生错误' 存根请求(:
类服务
状态(基本uri='localhost',基本认证={})
base_uri=“#{base_uri}/status”
response=HTTParty.get(基本uri、基本认证:基本认证)
营救标准错误=>e
捆绑,撬动
引发“错误发生代码:#{response.code}msg:#{e.message}”
结束
结束
it'如果url无效,则应返回错误消息'do'
错误的url=”http://bar_url.com"
预期='发生错误'
存根请求(:get,错误的url)。
带有(标题:{'Authorization'=>'Basic YWRtaW46YWRtaW4='})。
提升(标准错误)
期望{Service.status(错误的url,{username:@username,password:@password}})引发{u错误(/#{expected}/)
结束
此代码基于。因此,rspec总是引发异常:
expected/Error occurrent/,got#,因为服务调用了“#{base_uri}/status”
,即http://bar_url.com/status
但是存根请求
是用http://bar_url.com
仅,Net::HTTP.Get查找与此匹配的内容,而不是http://bar_url/status
这就是为什么测试中没有出现错误的原因