跳转到内容

CI 中受影响的测试

springgraph affected 会沿着导入依赖关系进行传递追踪,找出受一组已变更源文件影响的测试文件,从而让 CI 只跑相关的测试。

Terminal window
springgraph affected src/utils.ts src/api.ts # 直接传入文件
git diff --name-only | springgraph affected --stdin # 从 git diff 管道输入
springgraph affected src/auth.ts --filter "e2e/*" # 自定义测试文件匹配规则
选项说明默认值
--stdin从标准输入读取文件列表false
-d, --depth <n>依赖遍历的最大深度5
-f, --filter <glob>自定义用于识别测试文件的 glob 规则自动识别
-j, --json以 JSON 格式输出false
-q, --quiet仅输出文件路径false
#!/usr/bin/env bash
AFFECTED=$(git diff --name-only HEAD | springgraph affected --stdin --quiet)
if [ -n "$AFFECTED" ]; then
npx vitest run $AFFECTED
fi