📅  最后修改于: 2023-12-03 15:14:24.678000             🧑  作者: Mango
当使用 TypeScript 时,在 Cypress 的测试代码中可能会出现 Cypress 未定义
的错误。这是因为 TypeScript 默认情况下不知道 Cypress 的类型声明,而 Cypress 并没有默认导出。
要解决这个问题,需要手动引入类型声明。在 Cypress 的官方文档中已经有了相关的说明:
https://docs.cypress.io/guides/tooling/typescript-support#Types-for-custom-commands
以下是一个例子,演示了如何通过手动引入类型声明,避免 Cypress 未定义
的错误:
// 在 Cypress 测试代码的顶部,引入以下核心类型声明:
/// <reference types="cypress" />
// 在 Cypress 插件代码的顶部,引入以下核心类型声明:
/// <reference types="cypress" />
// 如果有自定义命令,在自定义命令代码的顶部,引入以下类型声明:
declare namespace Cypress {
interface Chainable<Subject> {
// 这里是你的自定义命令的类型声明
}
}
这样做可以让 TypeScript 知道 Cypress
对象的类型,并避免出现 Cypress 未定义
的错误。
简而言之,要在 TypeScript 中正确使用 Cypress,必须手动引入类型声明。