特拉维斯CI Jest Preset反应原生未找到

时间:2017-07-15 11:01:10

标签: javascript reactjs react-native travis-ci jest

我有一个反应原生的应用程序。

今天我用Jest添加了单元测试,我连接了Travis CI。当我在本地运行测试时,一切都很好。但是当他们在Travis中运行时,我收到了这个错误:

Validation Error: Preset react-native not found.

感谢。

3 个答案:

答案 0 :(得分:4)

我有这个问题,甚至在一个新项目中尝试过。

enter image description here

我通过删除

来修复它
"jest": {
        "preset": "react-native"
    }

来自我的package.json。

这样做可以让我运行npm run testjest来运行 jest

我猜(我可能错了)更新版本的jest将不再需要在packages.json文件中配置。

答案 1 :(得分:0)

我通过更新jest,jest-ci软件包解决了这个问题。

为什么会有这个问题?

我将版本react-native的{​​{1}}与0.57.0进行了比较,发现0.59.3react-native代替了jest-preset.json,但是jest-preset.js旧版本仅支持jest

所以我们要做的就是将jest-preset.jsonjest升级到支持jest-cli.js的最新版本

如果可以找到,可以检查'node_modules / jest-config / build / normalize.js'

.json

您的版本正确。

答案 2 :(得分:0)

就我而言,发生这种情况是因为我正在处理一个只有 'react-native' 的模块(库),如 peerDependencies。将 'react-native' 添加到 "devDepenencies" 解决了该问题。