Jest 的 Intellisense 不能在 VS 代码中工作

Intellisense for Jest not working in VS code

编辑:运行 npm install @types/jest 修复

只是尝试输入 it(),自动建议是 isTag

我试过添加 jsconfig.json

{
"compilerOptions": {
    "target": "es6"
},
"exclude": [
    "node_modules",
    "assets"
  ]
}

感谢任何对此有建议的人!!

添加到您的jsconfig.json

{
    "typeAcquisition": {
        "include": [
            "jest"
        ]
    }
}

如果这不起作用,请尝试使用此命令:

npm install @types/jest

yarn add -D @types/jest
{
    "typeAcquisition": {
        "include": [
            "jest"
        ]
    }
}

对于那些没有运气的人将上面的内容添加到根文件夹中的 jsconfig.json:尝试将其添加到测试文件夹(包含 *.test.js 文件的文件夹)

只需通过此命令安装 @types/jest

npm i @types/jest --save-dev

没有一个解决方案适合我。在深入研究了一些我发现它在其中工作的 github 存储库之后,我发现了一个名为 jest.config.js 的文件。以下是文件的配置:

module.exports = {
  transform: {
    '^.+\.ts?$': 'ts-jest',
  },
  testEnvironment: 'node',
  testRegex: './src/.*\.(test|spec)?\.(ts|ts)$',
  moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node'],
  roots: ['<rootDir>/src'],
};

注:这是给ts的。如果您不使用打字稿,请将所有 ts 更改为 js。 保存后,重新启动Vscode,它将按预期工作。

这并不适合所有人,但如果代码库在 monorepo 安排中有多个包并且你使用 vscode 作为你的编辑器,你可能想在根目录中安装 @types/jest,而不是在个别。

你在哪里称呼它会有所不同。有时,当您处于错误的函数或代码块中时,智能感知不起作用。

所以如果你尝试:

  beforeEach(() => ({
    mockedUseAccount.
  }));

智能感知不工作。

如果你尝试:

  beforeEach(() => {
    mockedUseAccount.
  });

智能感知工作正常。