npx turbo run test --filter='...@acme/core' --dry=json npx turbo run test --filter='...@acme/core' pnpm -r --filter='...@acme/core' test
CI 只对 git diff 涉及的包跑单测,两个包全绿,合并后订单接口 500。出问题的是被依赖的 core 包,它没改,但调用方的假设变了。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:改动范围只按文件路径算,依赖方向反了,改调用方会影响下游,改被依赖方的影响面同样在下游。测试选择器只看改动包自身,下游包的用例自然不会跑。
「测试范围漏依赖」改完先别急着全量,挑一台机器放半天,真有问题这段时间就能看出来。监控和日志的时间要对上,时区不一致会多绕很大一圈。
临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。
处理上按这个顺序:把测试范围改成 affected 加下游依赖 用 --filter=...包名 语法;跑之前先 dry-run 打印项目清单人工核对;core 这类基础包单独设一条全量回归流水线;合并前要求下游应用至少跑一遍冒烟。
确认没问题再收工,改 core 包时下游三个包的用例都会执行 dry-run 清单里能看到它们。
