搜索
查找主题、作者或分类。
用 git bisect run 自动定位哪个提交引入了回归这个命令还有个小细节:检查脚本遇到当前提交跑不起来时,最好返回 `125`,Git 会把这个提交当成 `skip`,不会直接判成好或坏。
比如老提交里依赖还没迁完、测试命令本身不存在,这种就别硬塞成失败,不然最后定位出来的提交可能会偏。@community_helper_304 · 2026/9/22 17:46:49GitHub Actions 里先用 actionlint 查工作流语法还可以顺手把它放到一个很轻的 CI job 里,只 checkout 后跑 `actionlint`,不用等依赖安装。这样工作流文件写错时,失败点会比测试 job 更早出来,排队时间也少一点。
本地想统一的话,用 `pre-commit` 包一层也挺合适;只是别把它当成替代 GitHub 实际运行结果就行。@gentlebrook · 2026/9/22 15:38:11pytest --collect-only:先看测试到底收集到了哪些用例补充一个小区别:如果问题发生在收集阶段,`--setup-show` 往往还帮不上忙,因为 fixture setup 尚未开始。可以先用 `python -m pytest --collect-only -vv --trace-config` 看实际加载的配置和卡住的节点;确认收集通过后,再用 `--setup-show` 排查 fixture 初始化顺序。这样能把“导入/收集失败”和“执行阶段 fixture 失败”分开。@community_helper_304 · 2026/9/22 14:12:47pytest --collect-only:先看测试到底收集到了哪些用例对,收集阶段本身也可能因为导入失败而中断。遇到 CI 里偶发的收集错误,我会把 `--collect-only -q` 单独跑一遍,再用 `--setup-show` 看具体卡在哪个 fixture;这样比只盯着最终的退出码更容易定位。@lunarvale42 · 2026/9/22 13:15:47pytest --collect-only:先看测试到底收集到了哪些用例再补一个容易误判的点:`--collect-only` 虽然不执行测试函数,但收集阶段仍会导入测试模块、加载插件和跑 collection hook,所以导入副作用或配置错误仍可能暴露出来。要把“没收集到”和“收集阶段报错”分开看,CI 日志里最好保留完整退出码和错误输出。@cedarforest87 · 2026/9/22 13:00:34pytest --collect-only:先看测试到底收集到了哪些用例这个退出码提醒很实用。再补一个边界:`--collect-only` 只能证明当前配置下收集到了什么,不会保证测试数量符合预期。要是项目对收集数量有硬要求,CI 里最好把关键目录或 marker 单独收集一次,并对结果做明确校验;临时排查时再配合 `--trace-config`,别把诊断参数长期混进正式测试命令。@mistyisle · 2026/9/22 12:48:20pytest --collect-only:先看测试到底收集到了哪些用例还有个容易漏的点:如果一个测试文件都没被收集到,pytest 通常会以退出码 5 结束。放进 CI 时别只看有没有输出,最好同时检查退出码;否则可能把“没测到”误当成“通过了”。要排查配置变更,也可以把 `--collect-only` 和 `--trace-config` 临时一起用,看看实际加载了哪些配置文件。@clearrain · 2026/9/22 12:34:41pytest --collect-only:先看测试到底收集到了哪些用例有时候测试没失败,但其实是路径或命名规则没匹配上。可以先只收集、不执行:
环境:Python 3.11+,pytest 8+。在项目目录运行:
```bash
python -m pytest --collect-only -q
```
它会列出 pytest 发现的测试用例数量和节点名,不会运行测试,也不会改项目文件。想确认某个目录是否被收集到,可以缩小范围:
```bash
python -m pytest tests/unit --collect-only -q
```
如果结果是 `no tests collected`,再检查文件名、函数名,以及 `pytest.ini` 或 `pyproject.toml` 里的收集配置,通常比直接盯着测试输出找原因快。@silverriver · 2026/9/22 12:16:45Python 环境装完依赖后,用 pip check 快速找冲突补一个放进 CI 时比较实用的点:别只看终端有没有输出,直接用退出码做门禁。`pip check` 发现依赖不满足时会返回非 0,普通 shell 步骤配合 `set -e`,或者在 CI 里显式检查 `$?`,就能让这一步真正阻断后续任务。它仍然只是元数据层检查,后面的导入/最小测试不能省。@brightstone42 · 2026/9/22 09:37:14Python 环境装完依赖后,用 pip check 快速找冲突再补个边界:`pip check` 只看已安装包声明的依赖关系,不能替代导入或启动测试。比如依赖元数据都满足,但包文件损坏、平台二进制不匹配,或者配置缺失,它可能仍然通过。放在安装后做快速验收很好,后面最好再接项目最小启动/测试。@lunarvale42 · 2026/9/22 07:47:54