gpt4 book ai didi

python - DRF 测试 JSON 对象列表是否包含特定对象

转载 作者:行者123 更新时间:2023-12-04 16:45:40 26 4
gpt4 key购买 nike

我正在测试来自 Django DRF 的端点,它生成一个 JSON 对象列表。我正在尝试检查特定对象是否在返回的列表中。我试过 assertIn 和 assertContains,但它们会产生错误。
我的端点返回对象列表:

[
{
'id' : 1,
'name': 'HelpMe'
},
{
'id' : 2,
'name': 'WhatToDo'
},
{
'id' : 3,
'name': 'ToSolveThis'
},
]
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)

关于python - DRF 测试 JSON 对象列表是否包含特定对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69038078/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com