【问题标题】:How to fetch and assert and REST API in Python Unittests?如何在 Python 单元测试中获取和断言以及 REST API?
【发布时间】:2019-03-26 10:45:16
【问题描述】:

在尝试获取和断言 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 中运行此测试并看到上述错误 * 我对代码进行了不同的更改,如下所示,但无法导出。

  • self.assertListEqual(resp.values()[0][0]['action_id'], action_id)
  • 自我。 assertSequenceEqual(resp.values()[0][0]['action_id'], action_id)

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

提前致谢。

【问题讨论】:

    标签: python-2.7 list dictionary python-unittest


    【解决方案1】:

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

    尝试将对resp.values() 的调用封装在对list() 的调用中:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-05
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 2014-07-14
      • 1970-01-01
      相关资源
      最近更新 更多