概述
为什么Canyon?

简而言之

Canyon 是一个JavaScript代码覆盖率收集平台。我们解决了开发人员和QA工程师在端到端测试中代码覆盖率收集困难的问题。

谁使用Canyon

我们的用户通常是使用现代 JavaScript 框架构建 Web 应用程序的开发人员或QA工程师。

Canyon 支持各种类型测试覆盖率的收集:

  • 端到端测试,如 Cypress、Puppeteer、Playwright
  • 单元测试,如 Jest、Mocha

特征

Bundling: 多种生态的bundling方案。

  • vite - vite-plugin-istanbul
  • babel - babel-plugin-istanbul
  • swc - swc-coverage-instrument

React Native: 支持React Native覆盖率数据收集。

File: 支持多种文件类型,例如js、jsx、ts、tsx。

源码回溯: 开启sourceMap选项来回溯源码覆盖率信息。

CI 提供覆盖率接口,方便CI工具集成。

变更代码: 通过配置想要对比的基线Commit Sha或者分支名,过滤筛选出变更代码文件的覆盖率以及计算出整体新增代码行覆盖率。

Commit: 使用oauth2登陆与github、gitlab等代码仓库链接,根据Commit Sha拉取代码进行覆盖率详情绘制。

聚合: 根据上报的报告ID进行实时聚合覆盖率数据聚合。

报告组件: 构建最小原生JavasScript的npm包,提供现代化前端报告水合方案以代替传统istanbul report。

浏览器插件: 提供浏览器插件,供开发人员实时检测应用覆盖率详情。