【发布时间】:2021-07-02 09:59:46
【问题描述】:
如何检查 requests_mock 模拟的请求是否在 URL 中添加了一些查询参数?
我有一个函数func,它在 URL 上使用一些查询字符串在 URL 上执行 HTTP POST,我想检查是否使用此查询字符串调用。
这是我的尝试,但失败了。
query 是一个空字符串,qs 是一个空字典。
我确定我的函数在请求中附加了查询字符串。
with requests_mock.Mocker() as mock:
mock.post(url, text=xml)
func() # This function will call url + query string
history = mock.request_history[0]
assert history.method == "POST" # OK
assert history.query is None # Returns an empty string, AssertionError: assert '' is None
assert history.qs is None # Returns an empty dict, assert {} is None
我的func
def credilink():
url = settings["url"]
params = settings["params"]
params["CC"] = query
response = requests.post(url, params=params)
# ...
【问题讨论】:
-
你能提供一个更完整的例子吗?我在理解您如何使用它时遇到了一些麻烦。演示观察到的行为的单个文件脚本和关于预期行为的评论将是理想的。
标签: python python-requests requests-mock