使用 FastAPI 测试客户端时如何检查 JSON 响应类型

How to check the JSON response types when using FastAPI testclient

我正在使用 FastAPI 测试客户端来测试我的 API 路由的响应。现在我想确定 JSON 响应的类型。

例如我的回复是:

{"userID": 50}

我知道如何测试这个硬编码:

assert response.json == {'userID': 50}

但我的目标是仅检查响应 returns 键 userID 或检查键值的类型。例如:

assert response.json == {'userID': int}

最终,我只是在寻找一种方法来检查是否存在所需的键名。

您可以使用任何常规 Python 支持的检查类型的方法:

user_response = response.json()
assert type(user_response['userID']) == int

assert isinstance(user_response['userID'], 3)