
pytest 如何找出跑得慢的测试
pytest --durations=N 列出最慢的 N 个测试阶段,--durations=0 配合 --durations-min=0 显示全部阶段耗时。配合 --durations-min 设阈值、pytest-xdist 并行提速,本文给出完整的慢测试排查方案。
聚焦概念、架构、排障、价格与选型,一篇解决一个明确问题。

pytest --durations=N 列出最慢的 N 个测试阶段,--durations=0 配合 --durations-min=0 显示全部阶段耗时。配合 --durations-min 设阈值、pytest-xdist 并行提速,本文给出完整的慢测试排查方案。

plt.legend(loc='upper left', bbox_to_anchor=(1, 1)) 把图例放到绘图区右侧外部;配合 tight_layout 或 subplots_adjust 防止图例被裁掉。附右侧、下方两种常用布局代码。

detached HEAD 下做了改动先 git switch -c 新分支 保存成果,再切回 master 合并;没做改动直接 git switch master 即可。本文覆盖三种意图的完整操作。

TIME_WAIT 是正常的 TCP 状态。先核对连接失败、端口范围和短连接速率,再通过连接池与 Keep-Alive 优化;不要把 tcp_fin_timeout 当作 TIME_WAIT 超时参数。

git remote remove origin 删除远程关联,只影响远程指针不动本地提交。附重命名、改 URL、重新添加的配套命令与常见场景。

用 git restore --source 指定历史提交恢复单文件;加 --staged --worktree 可同时更新暂存区与工作区。说明与 checkout、revert 的区别及如何撤销恢复。

用 scope="session" 的 fixture 复用会话级初始化;默认首次被依赖时执行,autouse 可让可见测试自动依赖。参数化和 xdist worker 需要额外区分。

git diff --cached(等价 --staged)查看暂存区与上次提交的差异;--stat 看摘要。提交前养成检查暂存内容的习惯,附配套命令。

四种方式:GIT_SSH_COMMAND 临时指定、~/.ssh/config 按 Host 配置(推荐)、ssh-add 进代理、core.sshCommand 按仓库配置。多账号/多密钥场景一文搞定。

先确认 pull 是 merge 还是 rebase,以及是否仍在进行。用 reflog 核对 pull 前提交并备份;ORIG_HEAD 可能被覆盖,reset --hard 会丢失未提交改动。

用 npm-check-updates:npx npm-check-updates -u 更新 package.json 版本号到最新,再 npm install 安装。跨大版本升级可能破坏兼容性,务必分批升级+跑测试。附 npm update 与 ncu 的区别。

Java 线程池中的 MDC 不会可靠地自动传播。提交前捕获快照,执行前设置或清空,finally 恢复原上下文,避免复用线程及 CallerRunsPolicy 下的上下文污染。