gpt4 book ai didi

python - 单元测试Python Azure函数: How do I construct a mock test request message with a JSON payload?

转载 作者:行者123 更新时间:2023-12-05 02:51:07 24 4
gpt4 key购买 nike

我想对我的 Python Azure 函数进行单元测试。我正在关注Microsoft documentation .

文档模拟了对函数的调用,如下

req = func.HttpRequest(
method='GET',
body=None,
url='/api/HttpTrigger',
params={'name': 'Test'})

我想这样做,但将参数作为 JSON 对象传递,以便我可以遵循 req_body = req.get_json()功能代码的分支。我想我可以通过像这样的函数调用来做到这一点

req = func.HttpRequest(
method='GET',
body=json.dumps({'name': 'Test'}),
url='/api/HttpTrigger',
params=None)

如果我像这样构造调用,req.get_json()失败并显示错误消息 AttributeError: 'str' object has no attribute 'decode' .

如何使用 JSON 输入参数构造请求?这应该是微不足道的,但我显然错过了一些明显的东西。

最佳答案

如果我按如下方式构建模拟调用:

import json


req = func.HttpRequest(
method='POST',
body=json.dumps({'name': 'Test'}).encode('utf8'),
url='/api/HttpTrigger',
params=None)

然后我就可以成功调用 req.get_json()。感谢 @MrBeanBremen 和 @JoeyCai 为我指明了正确的方向,即不要调用 GET 并将消息设置为字节字符串。

关于python - 单元测试Python Azure函数: How do I construct a mock test request message with a JSON payload?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63326322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com