FastAPI测试用例无法运行:提示‘no tests ran’问题排查
命名规则不符合要求
pytest识别测试用例有固定规则:测试文件需是test_开头(如test_user.py)或_test.py结尾(你的unit_test.py符合要求);测试函数必须以test_开头(如test_create_user);测试类需以Test开头(如TestUserAPI)且类内方法同样以test_开头。如果unit_test.py里的函数、类名没按这个规则写,pytest会直接跳过收集。路径或导入存在问题
确认执行pytest命令的工作目录就是unit_test.py和Main.py所在的文件夹。同时检查测试文件中是否正确导入了FastAPI实例,比如from Main import app(注意文件名大小写,Linux/macOS区分大小写,Windows不区分)。若导入路径错误导致代码无法正常加载,可能影响测试收集(这种情况通常会伴随导入错误提示)。配置或命令参数干扰
查看是否存在pytest.ini、tox.ini或setup.cfg等配置文件,里面的testpaths或python_files参数可能修改了pytest默认的测试文件匹配规则。另外确认执行pytest时没有添加过滤参数(如-k、-m),这类参数可能导致匹配不到任何测试用例。代码或依赖异常
如果unit_test.py存在语法错误,或者缺少pytest、fastapi、starlette等依赖,可能导致pytest无法正常解析测试代码。可以执行pytest unit_test.py -v查看详细日志,排查是否有报错信息。
内容的提问来源于stack exchange,提问作者mass

