Travis CI上的QUnit测试失败(使用grunt.js在phantomjs上运行)

sid*_*ism 7 javascript testing qunit phantomjs travis-ci

我们已经在我们的JavaScript开源项目enchant.js中引入了带有travis CI的CI系统. https://github.com/wise9/enchant.js

我们喜欢qunit测试,我们用grunt.js(npm)运行它们,但它在Travis CI上失败,出现如下错误:

<WARN> PhantomJS timed out, possibly due to a missing QUnit start() call. Use --force to continue. </WARN>
Run Code Online (Sandbox Code Playgroud)

完整的错误消息在这里:https://travis-ci.org/wise9/enchant.js/builds/4016842

奇怪的是,每次运行grunt命令时,超时错误都会导致不同的测试,有时所有测试都会通过(尽管很少见)

.travis.yml

language: node_js
node_js:
  - 0.8
before_install:
  - phantomjs --version
Run Code Online (Sandbox Code Playgroud)

的package.json

{
  "name": "enchant.js",
  "version": "0.6.2",
  "engines": {
    "node": ">=0.8"
  },
  "scripts": {
    "test": "grunt default --verbose"
  },
  "devDependencies": {
    "grunt": "0.3.17",
    "grunt-exec": "0.3.0"
  }
}
Run Code Online (Sandbox Code Playgroud)

有谁知道如何解决这个问题?

Pau*_*tte 0

我有同样的问题,这导致了 QUnit 的 asyncTest 在 PhantomJS 中运行时永远不会返回。

我们通过将 grunt 和 grunt-qunit 升级到 v0.4 解决了这个问题。我们放弃了了解确切的问题,但看来您发现的错误可能是