FastAPI-API文档和自动化测试(二)

2023-05-07 21:40:23 浏览数 (3)

自动生成测试代码

FastAPI 还可以自动生成测试代码,以便您可以轻松地测试您的 API。自动生成的测试代码将使用 Python 的内置 unittest 模块来测试每个路由。

要生成测试代码,请运行以下命令:

代码语言:javascript复制
python -m unittest test_main.py

此命令将自动生成名为 test_main.py 的测试文件,并使用 unittest 运行测试代码。生成的测试文件将包含测试每个路由的测试用例。

下面是一个自动生成的测试文件示例:

代码语言:javascript复制
import unittest
from fastapi.testclient import TestClient
from main import app

client = TestClient(app)

class TestMain(unittest.TestCase):
    def test_root(self):
        response = client.get("/")
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"message": "Hello World"})

    def test_read_item(self):
        response = client.get("/items/42?q=test")
        self.assertEqual(response.status_code, 200)
        self.assertEqual(response.json(), {"item_id": 42, "q": "test"})

在上面的代码中,我们导入了 TestClient 和 app 对象,并定义了一个名为 TestMain 的测试类。我们使用 TestClient 来测试应用程序的每个路由,并使用 unittest 的断言来检查响应是否正确。

0 人点赞