快速开始
与单元测试不同,端到端测试会启动浏览器。我们的目标是在浏览器内收集覆盖率数据,因此复杂度相对较高。以下是一般流程:
- 暴露浏览器全局变量,在适当的时机将覆盖率数据写入本地
- UI自动化完成后,使用Tools CLI读取本地
.canyon_output目录中的覆盖率数据并聚合上报 - 将caseID与Report ID关联,确保用例可追溯
框架
注意事项
⚠️
服务端渲染(SSR)框架的覆盖率支持范围
以 Next.js 为代表的服务端渲染(SSR)框架,Canyon 当前仅支持客户端代码的覆盖率统计。
说明: SSR 框架同时包含:
- 服务端代码(Node.js / Edge Runtime)
- 客户端代码(Browser Runtime)
Canyon 的覆盖率采集与变更覆盖率计算:
- 依赖浏览器侧执行结果
- 依赖 window.coverage 等客户端覆盖率模型
因此在 SSR 场景下: ✅ 支持:
- Client Components
- 浏览器中执行的页面逻辑、事件处理、Hooks、客户端工具函数等
❌ 不支持(不计入覆盖率):
- getServerSideProps / getStaticProps
- Server Components
- API Routes(/api/*)
- Edge / Node.js 服务端逻辑