我试图使用WebMock对请求进行存根,并使响应主体期望给定正则表达式中的任何值;如下所示:
stub_request(:get, "someurl").
with(headers: {'Accept'=>'*/*', 'User-Agent'=>'Ruby'}).
to_return(status: 200, body: { "data": [{ "id": /\d+/ }] }.to_json)响应中的id可以是任意长度的任何数字。但这行不通。有人知道这是否可能吗?
我尝试这样做的原因是,存在这样一种限制:这些is必须是唯一的,而且在测试环境中,我需要能够创建唯一的is,并且响应仍然接受它们,而不必手动地显式列出这个stub_request中的每一个可能的数字。
发布于 2022-10-07 15:25:03
我建议在to_return上使用to_return并在那里处理您的正则表达式。
stub_request(:any, 'www.example.net').
to_return(lambda do |request|
# TODO: check your regex here
{body: request.body}
end)
RestClient.post('www.example.net', 'abc') # ===> "abc\n"https://stackoverflow.com/questions/73961294
复制相似问题