Travis CI 构建失败 - Phantom JS 与 Mocha 超时

Travis CI builds failing - Phantom JS timing out with Mocha

我正在使用 Travis CI 来自动化 Typescript 项目的单元测试。在本地一切正常,但在 Travis 上最后弹出以下错误消息:

Running "mocha:test" (mocha) task
Testing: Tests/tests.html
Warning: PhantomJS timed out, possibly due to a missing Mocha run() call. Use --force to continue.

https://travis-ci.org/FullScreenShenanigans/ChangeLinr/builds/58349376

.travis.yml:

language: node_js

node_js:
  - "0.12"

before_script: 
  npm install grunt grunt-cli grunt-contrib-copy grunt-contrib-uglify grunt-contrib-clean grunt-zip

script:
  grunt

我是不是做错了什么?

我在 Travis 上遇到了完全相同的错误。 这是我的新工作 .travis.yml:

sudo: false
language: node_js
node_js:
  - '0.12'
before_script:
  - npm install -g grunt-cli bower
  - bower install

在我的例子中,我将你在 .travis.yml 中列出的所有 grunt 包(grunt-cli 除外)在我的 package.json 中列为 devDependencies。 (我认为这样更好,这样那些依赖关系只会在一个地方被跟踪。)

我也没有你的 script: grunt 部分,但这只是因为我正在从我的 package.json 调用 grunt test,即:

"scripts": {
  "test": "grunt test"
},

我的相关摘录 bower.json:

"devDependencies": {
  "chai": "~2.3.0",
  "mocha": "~2.1.0"
},

由于我尚未确定的原因,我发现我会在 Mocha >=2.2.0 时遇到 PhantomJS 超时错误(我专门测试了 2.2.0 和 2.2.4),所以我将 Mocha 保持为 2。 1.x.

如果有帮助,here's an actual commit 实现了上述所有内容。

我最终通过移动到 grunt-mocha 解决了这个问题。问题依旧没有解决,不过由于grunt-mocha是专门为grunt中的运行 mocha制作的,所以用起来似乎也很合理

相关提交: