Python pytest挂起“正在收集0项”,因为“uvicorn.run()`
当Python pytest挂起“正在收集0项”,因为“uvicorn.run()`,python,pytest,doctest,Python,Pytest,Doctest,当tox运行命令pytest--doctest modules{envsitepackagesdir}/my_-pkg时,它将挂起收集0个项目。但是,我发现如果我注释掉my\u pkg.server.\uuu main\uuuuu.py中的uvicorn.run(app),那么pytest运行正常 import uvicorn#类型:忽略 从.\u服务器导入应用程序 从。_服务器_配置导入配置 uvicorn.run(应用程序) 我认为问题在于,doctest实际上正在尝试执行代码,因此它会等
tox
运行命令pytest--doctest modules{envsitepackagesdir}/my_-pkg
时,它将挂起收集0个项目
。但是,我发现如果我注释掉my\u pkg.server.\uuu main\uuuuu.py
中的uvicorn.run(app)
,那么pytest
运行正常
import uvicorn#类型:忽略
从.\u服务器导入应用程序
从。_服务器_配置导入配置
uvicorn.run(应用程序)
我认为问题在于,doctest
实际上正在尝试执行代码,因此它会等待服务器进程完成,当然它从来不会这样做。我尝试添加参数--ignore glob=“src/my\u pkg/server/\uu\u main\uuuuuu.py”
,但这并没有改变行为。如何保护此代码不受pytest
/doctest
的影响,使其不会尝试执行它