我有一个反应原生的应用程序。
今天我用Jest添加了单元测试,我连接了Travis CI。当我在本地运行测试时,一切都很好。但是当他们在Travis中运行时,我收到了这个错误:
Validation Error: Preset react-native not found.
感谢。
答案 0 :(得分:4)
我有这个问题,甚至在一个新项目中尝试过。
我通过删除
来修复它"jest": {
"preset": "react-native"
}
来自我的package.json。
这样做可以让我运行npm run test
或jest
来运行 jest 。
我猜(我可能错了)更新版本的jest将不再需要在packages.json文件中配置。
答案 1 :(得分:0)
我通过更新jest,jest-ci软件包解决了这个问题。
为什么会有这个问题?
我将版本react-native
的{{1}}与0.57.0
进行了比较,发现0.59.3
用react-native
代替了jest-preset.json
,但是jest-preset.js
旧版本仅支持jest
。
所以我们要做的就是将jest-preset.json
和jest
升级到支持jest-cli
和.js
的最新版本
如果可以找到,可以检查'node_modules / jest-config / build / normalize.js'
.json
您的版本正确。
答案 2 :(得分:0)
就我而言,发生这种情况是因为我正在处理一个只有 'react-native'
的模块(库),如 peerDependencies
。将 'react-native'
添加到 "devDepenencies"
解决了该问题。