由于 `uvicorn.run()`,pytest 挂在 `collecting 0 items` 上

问题描述

tox 运行命令 pytest --doctest-modules {envsitepackagesdir}/my_pkg 时,它挂在 collecting 0 items 上。但是,我发现如果我注释掉 uvicorn.run(app) 中的 my_pkg.server.__main__.py 行,那么 pytest 会正确运行。

import uvicorn  # type: ignore

from ._server import app
from ._server_config import config


uvicorn.run(app)

我想问题在于 doctest 实际上是在尝试执行代码,所以它一直在等待服务器进程完成,当然它从来没有这样做过。我尝试添加参数 --ignore-glob="src/my_pkg/server/__main__.py" 但这并没有改变行为。如何屏蔽代码免受 pytest/doctest 的影响,使其不会尝试执行它?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)