写完测试执行命令显示收集到 0 个用例,退出码却是成功。日志里能对上时间点,这种反而好排。

测试文件或函数命名不符合框架默认规则,或目录不在收集路径内。这一点先确认清楚,后面就不用反复试。

pytest tests/ -v
# 文件 test_*.py,函数 test_*
# 或配置
# [tool.pytest.ini_options]
# testpaths = ["tests"]

围绕「单元测试未发现」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。偶发问题先统计频率,一小时几次和一天一次,查法完全不同。

改完顺手把文档补一句,省得下次自己重新推一遍。监控和日志的时间要对上,时区不一致会多绕很大一圈。

临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。

处理上按这个顺序:按框架约定命名;显式指定路径;检查配置中的测试发现规则。

结果对不对很好判断,用例能被正确收集并执行,报告中有通过明细。

作者 9823189