首页 > 解决方案 > 如何在 Python 单元测试中获取和断言以及 REST API?

问题描述

在尝试获取和断言 REST API 时,抛出“TypeError”。以下是我正在运行的代码

def test_get_action(self): action_id = self._get_action_id() """获取操作,成功,响应状态为 200""" resp = self.test_client.get_action(action_id) self.assertEqual(resp.response['status'], '200') self.assertEqual(resp.values()[0][0]['action_id'], action_id)

而且我看到错误为“TypeError:'dict_values'对象不支持索引”

进一步调查: * 在 Python 2.7 中运行此测试并看到上述错误 * 我将代码更改如下,但无法得出此结果。

我是 Python 和单元测试的新手,请帮忙。

提前致谢。

标签: python-2.7listdictionarypython-unittest

解决方案


错误消息表明resp.values()正在返回一个dict_values对象而不是一个列表。

尝试将调用包装到resp.values()调用中list()

self.assertEqual(list(resp.values())[0][0]['action_id'], action_id)

推荐阅读