测试套件越来越慢时,可以先让 pytest 列出最耗时的 10 个阶段:
python -m pytest --durations=10
输出会区分 setup、call 和 teardown,能看出时间到底花在用例本身,还是 fixture 的准备与清理上。只想把超过 1 秒的阶段都列出来,可以再加 --durations-min=1.0。
环境:Python 3.8+、pytest 6+。最好在相同机器、相同依赖和相同测试数据下比较;这个结果适合先找嫌疑点,不等同于严谨的性能基准。