我们已经在e2e测试项目中引入了cypress9.3.1,现在我们面临的问题是我们现有的jest测试不能在CI中编译。
所有参数化测试均发生以下错误:
Property 'each' does not exist on type 'TestFunction'.
it.each<TestCase>([
- 问题**:怎么解决呢?
我们尝试过但没有成功的:
- 将
import { it } from '@jest/globals'
添加到每个测试。我们可以通过将import { expect } from '@jest/globals'
添加到每个测试来修复类似的问题(* 属性'toBeTruthy'在类型'Assertion'上不存在 *)。请参见:https://stackoverflow.com/a/65153905 - 通过将
"exclude": ["cypress/global.d.ts"]
添加到tsconfig.spec.json
,为cypress全局变量添加项目范围的排除
2条答案
按热度按时间r1zk6ea11#
刚刚也遇到了这个问题,我们的
tsconfig.json
中包含了一个来自Mocha的冲突类型定义。请确保您没有加载Mocha的类型定义。编辑:我们最终需要做的是为我们的Cypress测试创建一个单独的tsconfig.json,如下所述:https://docs.cypress.io/guides/tooling/typescript-support#Configure-tsconfig-json
jei2mxaa2#
我们使用的是这里描述的tsconfig.json(见@JRJurman回答),但在我们的项目中不起作用。
现在我们使用cypress-each插件,它是由Cypress的一个贡献者开发的。
用法: