Skip to Content
DocumentationCore Concepts分离 Hit 和 Map

分离 Hit 和 Map

在 CI 中收集 Babel 编译期间生成的初始覆盖率源文件

原因

  1. 收集完整的编译文件:在编译过程中,通过 @canyonjs/babel-plugin 插件,分析并解析每个编译文件的初始覆盖率文件,并将其保存到 .canyon_out 文件夹中。

  2. 早期收集以减轻压力:如果不报告初始覆盖率文件,这些覆盖率文件将在 UI 自动化测试期间被报告,这会产生巨大的传输压力。早期收集可以减少超过 90% 的传输压力。

报告初始覆盖率数据

@canyonjs/babel-plugin 插件在编译过程中为编译后的文件生成初始覆盖率文件,并将其保存到 .canyon_output 文件夹中。我们提供了 Tools CLI 命令行工具,您可以在 CI 中使用它向 Canyon 服务器报告。

.gitlab-ci.yml
pages: image: node:20 stage: deploy script: - npm i pnpm -g - pnpm i - pnpm run build - npm i @canyonjs/cli -g - canyon -h - canyon upload --dsn=https://app.canyonjs.io/api/coverage/map/init - mv dist/* public artifacts: paths: - public only: - main

准备就绪

现在检查页面上的 window.coverage 对象,如截图所示。window.coverage 不再包含 map 数据,这可以大大降低 UI 自动化覆盖率收集过程中的大量传输成本。