python - 使用 requests-mock 捕获 URL 参数

标签 python python-requests mocking pytest requests-mock

我正在使用requests-mock使用 dynamic response 模拟外部服务.

该服务的 URL 类似于 http://test/containers/test/1234 ,其中 1234 是我要动态生成的对象 ID。

我尝试过正则表达式匹配器,但似乎无法在动态响应回调中获取匹配对象。

有没有办法“捕获”URL 的最后一位?

最佳答案

传递给回调的第一个参数将是请求。它有一个可供您使用的公共(public) path 属性:

>>> def callback(request, context): 
...     print("request path: ", request.path) 
... 
>>> with requests_mock.Mocker() as m: 
...     m.get("http://test/containers/test/1234", text=callback) 
...     requests.get("http://test/containers/test/1234") 
... 
request path:  /containers/test/1234

关于python - 使用 requests-mock 捕获 URL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54933440/

相关文章:

python - 如何为 Keras/tf.Keras 构建自定义数据生成器,其中 X 图像被增强并且对应的 Y 标签也是图像

python - Renpy 和请求

Python 通过 'requests' 获取 HTML 内容返回部分响应

.net - 使用最小起订量模拟 ChannelFactory 时出现 TargetInitationException

java - 对作为一个类实例的字段使用 Mock

python - 如何通过 unittest setUp 在 python 中正确使用 mock

python - 如何在列表中构建字典数据?

unit-testing - 模拟框架与功能测试,为什么还要进行模拟呢?

python - 在Python中打开xlxs工作簿,自动命名文件

python - 为 requests.Session() 对象设置主机和端口