我有一个基本的 react-native/expo 模板应用程序。我已经在 dev 依赖项中添加了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 IDE 无法识别 Jest 及其功能。
你能帮我解决这个问题吗?
更新
根据评论,我尝试通过设置配置安装 Typescript Jest 类型定义,还尝试使用 yarn/npm 安装。但这没有帮助。
另一个更新
但是,如果我取消选中项目的 node_modules 库,Jest 类型定义就会启动。
但是这样做,其他类型的 node_modules 不起作用!