Как получить и утвердить и REST API в Python Unittests? - PullRequest
0 голосов
/ 22 октября 2018

при попытке извлечь и утвердить 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)
  • self.assertSequenceEqual (resp.values ​​() [0] [0] ['action_id'], action_id)

Я новичок в Python и юнит-тестах, пожалуйста, помогите.

Спасибо ввперед.

1 Ответ

0 голосов
/ 31 октября 2018

В сообщении об ошибке указывается, что resp.values() возвращает объект dict_values, а не список.

Попробуйте преобразовать вызов в resp.values() при вызове list():

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