0
我正在为一个调用多个http请求到外部服务的方法编写单元测试。有没有办法为RSpec HTTP存根使用级联规则?
它首先通过调用索引的路线,说“http://api.com/things”
然后它通过索引中的各元素,并调用“显示路线”,说这是“http://api.com/things/123”
你看, “显示”路线末尾的/123
唯一的区别。
现在我有一个存根索引路线。
WebMock::API.stub_request(
:get,
/.*api\.com\/things.*/
).to_return(<something>)
问题是,这会拦截对“show”路由的调用。
我想为“show”路线做一个不同的模拟。我想不必深入正则表达式来做到这一点。
有没有一种方法可以像在Sinatra或Rails中路由工作那样设置http mock - 换句话说,如果文件中有较高的匹配,那么较低的匹配不会被击中?
鉴于我的问题的信息你的答案是正确的。我想这是我的错,因为没有显示我的实际应用程序代码,但我不得不改变这一点,使其工作。 'to_return'可以占用一个块(它通过url),所以在那里,我做了一些像'if url.include?(“123”) else '。 –
嗯,是的,你的请求是针对'show'与'index'的不同模拟,但这很酷,只要你有解决方案。 – SteveTurczyn