2

我有一个基本的 react-native/expo 模板应用程序。我已经在 dev 依赖项中添加了jest-exporeact-test-renderer,并且还更新了 package.json,就像在expo docs for testing中记录的那样。

{
  "main": "node_modules/expo/AppEntry.js",
  "scripts": {
    ...
    "test": "jest"
  },
  "dependencies": {
    "expo": "~41.0.1",
    ...
    "react": "16.13.1",
    "react-native": "https://github.com/expo/react-native/archive/sdk-41.0.0.tar.gz",
  },
  "devDependencies": {
    "@babel/core": "^7.9.0",
    "@testing-library/jest-native": "^4.0.1",
    "@testing-library/react-native": "^7.2.0",
    "jest-expo": "^41.0.0",
    "react-test-renderer": "^17.0.2"
  },
  "private": true,
  "jest": {
    "preset": "jest-expo",
    "transformIgnorePatterns": [
      "node_modules/(?!(jest-)?react-native|react-clone-referenced-element|@react-native-community|expo(nent)?|@expo(nent)?/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|native-base|@sentry/.*)"
    ],
    "setupFilesAfterEnv": [
      "@testing-library/jest-native/extend-expect"
    ]
  }
}

我还添加React Native Testing Library了测试 UI。并且测试运行良好。

但问题是 WebStorm IDE 无法识别 Jest 及其功能。

在此处输入图像描述

在此处输入图像描述

你能帮我解决这个问题吗?

更新

根据评论,我尝试通过设置配置安装 Typescript Jest 类型定义,还尝试使用 yarn/npm 安装。但这没有帮助。

在此处输入图像描述

另一个更新

但是,如果我取消选中项目的 node_modules 库,Jest 类型定义就会启动。

在此处输入图像描述

但是这样做,其他类型的 node_modules 不起作用!

4

2 回答 2

0

在首选项 - 语言和框架 - JavaScript - 库中,按下载,然后从列表中选择 jest,按下载并安装。如果它不起作用,请尝试npm i @types/jest在您的本地文件夹中。

于 2021-06-08T18:29:39.780 回答
0

你试过这个WebStorm 配置吗?

您可能已经注意到,JavaScript 文件中的一些全局 Jest 方法(如 describebeforeEach)在编辑器中被标记为未解析。要解决这个问题,请为 Jest 安装 TypeScript 类型定义文件:转到 Preferences | 语言和框架 | JavaScript | 库,单击对话框右侧的下载,然后在列表中搜索 Jest 并单击安装。或者添加 @types/jest到项目的 package.json 中的 devDependencies。

于 2021-06-08T18:16:18.057 回答