You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Pytest测试API调用函数返回值触发TypeError问题求助

报错原因

你在mock test_connection 方法返回值时,传入的是JSON格式字符串,而非Python字典:

# 错误写法:外层带单引号,返回值是字符串类型
mocker.patch('includes.abc.functions.ABC.test_connection', return_value='{"message":"NoPong"}')

非测试场景运行时,第三方SDK会自动把接口返回的JSON数据解析为Python字典,所以可以正常用response['message']访问字段。但测试时你手动指定的返回值是字符串,字符串只能用整数下标访问,用字符串key访问自然会触发TypeError: string indices must be integers报错。

修复方案

去掉return_value外层的单引号,直接传入Python字典即可:

# 正确写法:返回Python字典类型
mocker.patch('includes.abc.functions.ABC.test_connection', return_value={"message":"NoPong"})

修改后测试会正常触发预期的ValueError,测试用例即可通过。

内容的提问来源于stack exchange,提问作者Rayne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 23:57:03