Cypress 中的组件测试使前端开发人员能够独立测试 UI 组件,而无需完整的应用程序。本文档介绍了 Cypress 组件测试的架构和功能,它允许测试各种前端框架(包括 React、Vue、Angular 和 Svelte)的组件。
有关端到端测试的信息,请参阅 核心测试基础设施。
Cypress 中的组件测试提供了一种与框架无关的方法,用于独立测试 UI 组件。它允许开发人员挂载组件、与其交互,并断言其行为和外观。
来源
下图显示了运行组件测试时的执行流程。
来源
Cypress 为多个前端框架提供了官方适配器。每个适配器都实现了用于挂载相应框架组件的一致 API。
| 框架 | 包 | 支持的版本 |
|---|---|---|
| React | @cypress/react | 18+ |
| Vue | @cypress/vue | 3+ |
| Angular | @cypress/angular | 17.2+ |
| Svelte | @cypress/svelte | 3+ |
所有适配器都公开一个 mount 命令,该命令
框架适配器通过 @cypress/mount-utils 包共享通用功能,该包提供
来源
组件测试需要开发服务器来编译和提供组件。Cypress 支持两种打包器:
@cypress/webpack-dev-server 包提供了与 webpack 进行组件测试的集成。它
@cypress/vite-dev-server 包提供了与 Vite 进行组件测试的集成。它
vite.config.js/ts 或自定义配置来解析 Vite 配置当测试文件更改或组件更新时,开发服务器会检测到更改并触发热模块重载,从而在不重新运行整个测试的情况下更新组件。
来源
组件测试在 Cypress 配置文件(cypress.config.js/ts)中进行配置。该配置指定
使用 Vite 的 React 项目的示例配置
适用于 webpack
来源
Cypress 提供了一个设置向导来帮助配置项目的组件测试。该向导
该向导使用 GraphQL 在前端和后端之间进行通信,其类型在模式文件中定义。
来源
组件测试包含针对各种场景的全面错误处理
该系统提供详细的错误消息和堆栈跟踪,以帮助诊断和修复问题。
当开发服务器中出现错误时,它们会被捕获并显示在 Cypress UI 中,并提供在问题修复后重试的选项。
来源
Angular 组件测试支持
React 组件测试提供
Vue 组件测试提供
Svelte 组件测试包括
来源
Cypress 通过 @cypress/schematic 包提供 Angular schematics 集成,该包可以
该 schematic 创建
来源
刷新此 Wiki
最后索引时间2025 年 4 月 18 日(ac3bb1)