IDE 无法识别 Jest 及其功能
Posted
技术标签:
【中文标题】IDE 无法识别 Jest 及其功能【英文标题】:IDE does not recognize Jest and its functions 【发布时间】:2021-08-25 13:43:16 【问题描述】:我有一个基本的 react-native/expo 模板应用程序。我在开发依赖项中添加了jest-expo
和react-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 。
你能帮我解决这个问题吗?
更新
根据 cmets,我尝试通过设置配置安装 Typescript Jest 类型定义,并尝试使用 yarn/npm 安装。但这没有帮助。
另一个更新
但是,如果我取消选中项目的 node_modules 库,Jest 类型定义就会启动。
但是这样做,其他类型的node_modules就不行了!
【问题讨论】:
您可以尝试为 jest 安装类型定义吗? npmjs.com/package/@types/jest @UğurEren 是的,我已经尝试添加@types/jest,但问题仍然存在。 【参考方案1】:你试过这个WebStorm configuration吗?
您可能已经注意到一些全局 Jest 方法(例如 javascript 文件中的
describe
和beforeEach
) 被标记为未解析 在编辑器中。要解决这个问题,请安装 TypeScript 类型定义 Jest 的文件:转到首选项 |语言和框架 | JavaScript |库,单击右侧的下载 对话框,然后在列表中搜索 Jest 并单击安装。或添加@types/jest
到项目 package.json 中的 devDependencies。
【讨论】:
您好,我尝试安装类型定义,但没有成功。但是,如果我取消选中 node_modules 库,则 Jest 类型可以工作。但是这样做其他 node_modules 类型不起作用。我已经根据最近的事态发展更新了这个问题。【参考方案2】:在首选项 - 语言和框架 - JavaScript - 库中,按下载,然后从列表中选择 jest,按下载并安装。如果它不起作用,请尝试在本地文件夹中使用 npm i @types/jest
。
【讨论】:
您好,我尝试安装类型定义,但没有成功。但是,如果我取消选中 node_modules 库,则 Jest 类型可以工作。但是这样做其他 node_modules 类型不起作用。我已经根据最近的事态发展更新了这个问题。 @MswTm 您可以将您的.eslintrc
文件添加到问题中吗?
对不起,我没有使用 .eslintrc以上是关于IDE 无法识别 Jest 及其功能的主要内容,如果未能解决你的问题,请参考以下文章
LINQ to DataSet,DataTable.AsEnumerable() 无法识别