name: dyad:e2e-rebase description: 基于PR评论中的失败测试,重基E2E测试快照。
E2E测试快照重基
基于PR评论中的失败测试,重基E2E测试快照。
说明
-
使用
gh pr view --json number --jq '.number'获取当前PR编号。 -
获取PR评论并查找Playwright测试结果评论。从以下部分解析出失败的测试文件名:
- “失败测试”部分(以
- \filename.spec.ts` 开头的行) - “更新快照命令”部分(包含
npm run e2e e2e-tests/filename.spec.ts)
- “失败测试”部分(以
-
如果在PR评论中没有找到失败测试,通知用户并停止。
-
构建应用程序二进制文件:
npm run build重要: E2E测试针对构建的二进制文件运行。如果任何应用程序代码(
e2e-tests/之外的代码)有更改,必须在运行E2E测试之前运行此构建步骤,否则您将测试旧版本。 -
对于每个失败的测试文件,运行带快照更新的e2e测试:
PLAYWRIGHT_HTML_OPEN=never npm run e2e e2e-tests/<testFilename>.spec.ts -- --update-snapshots -
更新快照后,重新运行相同的测试,不带
--update-snapshots以验证它们一致通过:PLAYWRIGHT_HTML_OPEN=never npm run e2e e2e-tests/<testFilename>.spec.ts如果在此验证运行中有任何测试失败,通知用户快照可能不稳定并停止。
-
使用
git diff在快照文件上显示哪些快照已更新。 -
检查快照更改,确保它们看起来合理且与PR目的一致。考虑:
- 更改是否与PR尝试实现的目标一致?
- 是否有任何意外或可疑的更改?
-
如果快照看起来合理,提交和推送更改:
git add e2e-tests/snapshots/ git commit -m "更新E2E测试快照" git push -
通知用户快照已更新并推送到PR。