需确认本地与CI测试结果一致性:先生成标准JSON报告并验证存在性,再通过CI平台下载或Codex CLI获取CI报告,最后用Codex执行结构化比对,输出差异项及详情。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你想确认本地跑通的测试在CI环境里是否也通过,又怕每次都要手动登录CI平台翻日志、查报告、对文件——这种重复比对既耗时又容易漏掉关键差异点。
确认本地测试结果存放位置
第一步:确保本地测试结果已生成为标准格式。多数测试框架(如Jest、pytest、Vitest)支持--json或--output-json参数,运行后会输出结构化JSON。例如:
npm test -- --json --outputFile=reports/local-test-results.json
第二步:检查该文件是否真实存在且非空。用cat reports/local-test-results.json | head -n 5快速验证——如果报错“no such file”或输出为空,说明测试未成功导出,后续比对将失去依据。【必须确认这个文件能被Codex直接读取,路径不能含中文或空格】
这一步操作起来很简单,直接把文件拖进去就行。
获取CI环境的测试报告
方法一:从CI流水线页面下载原始报告
进入GitHub Actions / GitLab CI / CircleCI 的对应job详情页,找到“Artifacts”或“Test Reports”区域,下载test-results.json或junit.xml等格式文件,保存到本地同一级目录下,比如ci-test-results.json。
通过本地 Codex 或 OpenClaw OAuth 凭证直接调用 ChatGPT/Codex Responses 的 image_generation 工具来生成或编辑光栅图像,然后保存
方法二:用Codex CLI自动拉取(需提前配置CI token)
codex cloud fetch --job-id abc123 --artifact test-results.json --output ci-test-results.json
注意:该命令仅在CI任务启用artifact上传后才有效,若CI配置中未设置upload-artifact步骤,此命令会失败并返回404。
用Codex执行结构化比对
第一步:进入项目根目录
cd /path/to/your/project
第二步:运行对比命令
codex exec "对比 local-test-results.json 和 ci-test-results.json,列出所有不一致的测试用例名称、状态(pass/fail/skip)、执行时间偏差超过200ms的条目,并标出CI环境中新增但本地不存在的测试"
第三步:查看Codex输出的差异摘要
它不会打印全部JSON,而是提取关键字段生成表格,例如:
• test/user-login.spec.ts › should reject empty password → 本地pass,CI fail
• test/api/order.test.js › timeout after 5000ms → 仅CI出现,本地无此条目
• test/utils/date.test.ts → 本地耗时128ms,CI耗时2190ms(+1698%)
第四步:按需展开具体失败项
若发现CI独有的失败用例,可追加指令:
codex exec "读取ci-test-results.json中test/user-login.spec.ts的failure字段,提取堆栈和错误消息原文"
















