【发布时间】:2016-11-04 00:13:35
【问题描述】:
我正在为向外部服务调用多个 http 请求的方法编写单元测试。
它首先调用一个索引路由,比如“http://api.com/things”
然后它遍历索引中的每个元素并调用“显示路线”,例如“http://api.com/things/123”
你看,唯一的区别是“show”路径末尾的/123。
现在我有一个用于索引路由的存根。
WebMock::API.stub_request(
:get,
/.*api\.com\/things.*/
).to_return(<something>)
问题在于这会拦截对“show”路由的调用。
我想为“show”路线做一个不同的模拟。我想不必深入研究正则表达式来做到这一点。
有没有一种方法可以像在 Sinatra 或 Rails 中使用路由一样设置 http 模拟 - 换句话说,如果文件中较高的匹配项,则不会命中较低的匹配项?
【问题讨论】:
标签: ruby-on-rails ruby unit-testing rspec