Тест DRF, содержит ли список объектов JSON определенный объект
Я тестирую конечную точку из Django DRF, которая выдает JSON-список объектов. Я пытаюсь проверить, есть ли конкретный объект в возвращаемом списке. Я пробовал assertIn и assertContains, но они выдают ошибки.
Тестовый код для assertIn:
def test_list(self):
client = APIClient()
response = client.get('/api/some_list/', format='json')
self.assertEqual(
len(response.data),
19
)
self.assertIn(
response.data,
{
"id": 2,
"name": "WhatToDo"
}
)
assertIn производит TypeError: unhashable type: 'ReturnList'
Тестовый код для assertContains:
def test_list(self):
client = APIClient()
response = client.get('/api/some_list/', format='json')
self.assertEqual(
len(response.data),
19
)
self.assertContains(
response,
{
"id": 2,
"name": "WhatToDo"
}
)
assertContain только что провалил тест.
Какой лучший подход для проверки наличия определенного объекта в списке JSON в ответе?
Вы перевернули аргументы: assertIn
, попробуйте следующее:
self.assertIn({"id": 2, "name": "WhatToDo"}, response.data)
# Or you can also write:
self.assertTrue({"id": 2, "name": "WhatToDo"} in response.data)