Ste*_*ven 3 python unit-testing azure
我想对我的 Python Azure 函数进行单元测试。我正在关注微软文档。
文档模拟了对该函数的调用,如下所示
req = func.HttpRequest(
method='GET',
body=None,
url='/api/HttpTrigger',
params={'name': 'Test'})
Run Code Online (Sandbox Code Playgroud)
我想这样做,但将参数作为 JSON 对象传递,以便我可以跟踪req_body = req.get_json()函数代码的分支。我想我可以通过像这样的函数调用来做到这一点
req = func.HttpRequest(
method='GET',
body=json.dumps({'name': 'Test'}),
url='/api/HttpTrigger',
params=None)
Run Code Online (Sandbox Code Playgroud)
如果我像这样构造调用,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)
Run Code Online (Sandbox Code Playgroud)
然后我就可以成功调用req.get_json(). 感谢@MrBeanBremen 和@JoeyCai 为我指明了正确的方向,即不要调用GET并将消息设置为字节字符串。
| 归档时间: |
|
| 查看次数: |
2929 次 |
| 最近记录: |