在TRAVIS-CI上进行JEST测试时出错

时间:2015-04-08 22:36:07

标签: continuous-integration travis-ci jestjs

错误

Error: /home/travis/build/ElectronicaGitHub/pictureAvenue/node_modules/jest-
cli/node_modules/jsdom/node_modules/contextify/build/
Release/contextify.node: invalid ELF header

当我尝试启动JEST测试时发生这种情况,它只是来自JEST教程的示例测试,看起来像

jest.dontMock('../sum');

describe('sum', function() {
 it('adds 1 + 2 to equal 3', function() {
   var sum = require('../sum');
   expect(sum(1, 2)).toBe(3);
 });
});

使用JEST进行本地测试运行正常。

尝试在 travis-ci 上启动 mocha 测试,这没问题!

但我在ReactJS上的项目和他建议使用JEST进行测试。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在GH上找到你的项目:https://github.com/ElectronicaGitHub/pictureAvenue

几乎可以肯定这是因为您签入了node_modules文件夹。应该使用npm install由项目的每个消费者下载。使用以下内容将.gitignore文件添加到项目的根目录:

  

node_modules

在您执行此操作之前,您需要执行以下操作:

rm -fr node_modules && \ git commit -a -m 'remove node_modules from source control' && \ git push origin master

然后添加您的.gitignore文件并进行另一次提交。

当你看到它时,看起来你也在检查你的sass-cache(.sass-cache\*)。你也想做同样的事情。

最后的想法:

通常,源代码控制非常适合任何工件或代码,对于通常依赖于操作系统(如node_modules)或依赖于主机(.sass-cache)的内容来说,它并不是很好。

希望有所帮助。