Jest快照在本地可以正常工作,但在Travis CI上一直失败。

11

我的Jest快照测试在Travis上一直失败,出现以下差异:

-      "_instance": Constructor {
+      "_instance":  {

开发依赖包括:

"babel-jest": "^19.0.0",
"jest": "^19.0.2",
"react-addons-test-utils": "^15.4.2",
"babel-preset-es2015": "^6.22.0",
"babel-preset-react": "^6.23.0",
"react-test-renderer": "^15.4.2",
"enzyme": "^2.7.1",
"enzyme-to-json": "^1.5.0",
"react": "^15.2.0",
"react-dom": "^15.2.1"

在本地和特拉维斯上使用Node 7.0.0。

有任何想法吗?


你是否使用相同的命令运行它?当我们在CI系统上使用代码覆盖率运行时,我们遇到了这个问题。 - Andreas Köberle
@AndreasKöberle 是的!我们正在使用 npm run jest - Jared Silver
1
@JaredSilver,您能否请评论一下已批准的答案?您最终做了什么? - mcabe
2个回答

7

我会确保在本地和CI上使用完全相同的版本。尝试将 jestbabel-jest 固定到特定的版本:

"babel-jest": "=19.0.0",
"jest": "=19.0.2",

也许我会把所有依赖项也做同样的处理!然后从您的机器中删除node_modules/,运行测试(必要时更新快照)并推送。
附:我还会尝试清空travis上的缓存:https://travis-ci.com/USERNAME/REPOSITORY_NAME/caches

3
在我的情况下,我在构建系统和本地环境中的Node版本不匹配。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接