show、view 和 query。
一次 niceeval exp 会同时产出这几样东西:
选择合适的上报方式
用 Reporter 推送到外部系统
在niceeval.config.ts 的 reporters 里配置项目默认的 Reporter,评估用例的 reporters 会和它合并。字段说明见 defineConfig 参考。
Reporter 能拿到的是这次运行过程中已知的结果。外部系统可以接收运行摘要、每个 Attempt 的结果或查看链接。要读取完整的结果,用 receipt 里的 Run ID 重新打开保存下来的结果。
Reporter 不能:
- 把外部系统里的数据当作 NiceEval 的结果;
- 代替 NiceEval 保存的判定、用量、断言或诊断;
- 让
query、show或view改从外部系统读数据; - 把外部系统的结果写回
.niceeval/record.sqlite。
在 CI 中输出 JUnit
接入 CI 平台最直接的方式是 JUnit:用 receipt 关联后续步骤
--json 输出这次运行的 NDJSON。最后一行是 receipt,包含 invocationId、createdRunIds、publicationCutoff、开始时间、结束时间和 completion。外部自动化可以保存 receipt,再用 createdRunIds 打开对应的 Run:
pnpm --silent exec niceeval query discover 找到可用的查询。
不要把进度或诊断行当作长期保存的结果格式。它们只描述这一次运行正在发生什么。
接入外部系统时的原则
- 外部上报只使用这次运行中已知的信息。
- 凭据放在环境变量里,不写进任何输出。
- CI 门禁看退出状态。
- 用 receipt 的
createdRunIds把外部工作流和 NiceEval 保存的结果关联起来。 - 需要审阅结果时,人用
show或view打开那个 Run,自动化流程用query。