FastAPI运行报错:无config属性、web_app.app模块不存在问题咨询
问题解决
1. 模块导入报错处理
你修改导入语句为from web_app.main import app的操作是正确的,该报错是因为教程默认示例项目结构中FastAPI实例存放在web_app/app.py,和你实际项目的结构不一致导致的,只要确认web_app/main.py中确实对外暴露了FastAPI类的实例app即可。
2. FastAPI对象无config属性报错处理
该报错是教程对应章节的常见笔误,混用了Flask框架的测试配置写法,大量学习到该章节的开发者都遇到过相同问题。FastAPI本身没有config属性,不需要也不能用这种方式开启测试模式。
你需要调整测试fixture的写法,使用FastAPI官方提供的TestClient实现接口测试,完整的正确代码如下:
# 导入依赖 from fastapi.testclient import TestClient from web_app.main import app import pytest @pytest.fixture def client(): # 直接实例化TestClient传入app即可,无需额外配置测试标记 return TestClient(app)
后续你直接在测试用例中调用client的get/post等方法即可完成接口测试,若需要特殊的测试配置,可通过FastAPI的依赖覆盖、环境变量注入等方式实现。
内容的提问来源于stack exchange,提问作者Jennifer Koenig
相关产品推荐
相关产品推荐

