Visual studio code VS Code Jest和Cypress intellisense不能与Chai正常工作
我使用Jest作为单元测试框架,下面的intellisense是正确的: 但是,在安装Cypress Cypress:^3.2.0时,类型“Assertion”上不存在显示错误属性“toMatch”的同一代码。你是说“比赛”吗?。IMO的原因是在节点_modules/Cypress/types/chai/index.d.ts下安装Cypress typings,VS代码选择它们用于intellisense。Jest和Cypress都依赖于库。安装Cypress后的Intellisense:Visual studio code VS Code Jest和Cypress intellisense不能与Chai正常工作,visual-studio-code,jestjs,intellisense,cypress,Visual Studio Code,Jestjs,Intellisense,Cypress,我使用Jest作为单元测试框架,下面的intellisense是正确的: 但是,在安装Cypress Cypress:^3.2.0时,类型“Assertion”上不存在显示错误属性“toMatch”的同一代码。你是说“比赛”吗?。IMO的原因是在节点_modules/Cypress/types/chai/index.d.ts下安装Cypress typings,VS代码选择它们用于intellisense。Jest和Cypress都依赖于库。安装Cypress后的Intellisense:
有没有办法告诉VS代码在特定文件夹中使用哪个智能感知?或者有没有办法在jsconfig.json文件中指定它?解决方案是为在中公开的全局变量创建别名 并在JSDoc中用@type修饰这些变量。因此,我在测试所在的同一目录中创建了一个文件jestGlobals.js jestGlobals.js文件:为了简单起见,我只包含了一个全局变量,但是您可以对所有全局变量执行相同的操作:
/** @type {jest.Expect} */
// @ts-ignore
let expect = global.expect
export { expect }
然后,我只需在我的*.spec.js文件中导入这些变量:
现在,当我使用这个别名时,我得到了如下正确的智能感知:
解决方案是为中公开的全局变量创建别名 并在JSDoc中用@type修饰这些变量。因此,我在测试所在的同一目录中创建了一个文件jestGlobals.js jestGlobals.js文件:为了简单起见,我只包含了一个全局变量,但是您可以对所有全局变量执行相同的操作:
/** @type {jest.Expect} */
// @ts-ignore
let expect = global.expect
export { expect }
然后,我只需在我的*.spec.js文件中导入这些变量:
现在,当我使用这个别名时,我得到了如下正确的智能感知:
我自己也要面对这个问题 通常我可以用心输入断言,但当您确实需要自动完成时,添加 /// 测试套件文件顶部的一个按钮将为您提供正确的jest类型 注意:您也需要安装
我自己也面对这个问题 通常我可以用心输入断言,但当您确实需要自动完成时,添加 /// 测试套件文件顶部的一个按钮将为您提供正确的jest类型 注意:您也需要安装
柏树和笑话也有同样的问题 我通过创建两个jsconfig.json解决了这个问题
{
"typeAcquisition": { "include": ["cypress"] }
}
{
"typeAcquisition": { "include": ["jest"] }
}
cypress/jsconfig.json
{
"typeAcquisition": { "include": ["cypress"] }
}
{
"typeAcquisition": { "include": ["jest"] }
}
然后是我的src文件夹
src/jsconfig.json
{
"typeAcquisition": { "include": ["cypress"] }
}
{
"typeAcquisition": { "include": ["jest"] }
}
重新启动VSCode并按预期工作与cypress和jest有相同的问题 我通过创建两个jsconfig.json解决了这个问题
{
"typeAcquisition": { "include": ["cypress"] }
}
{
"typeAcquisition": { "include": ["jest"] }
}
cypress/jsconfig.json
{
"typeAcquisition": { "include": ["cypress"] }
}
{
"typeAcquisition": { "include": ["jest"] }
}
然后是我的src文件夹
src/jsconfig.json
{
"typeAcquisition": { "include": ["cypress"] }
}
{
"typeAcquisition": { "include": ["jest"] }
}
重新启动VSCode,并按预期工作我将编辑注释。您还需要安装@types/jest!我将编辑评论。您还需要安装@types/jest!