【发布时间】:2013-01-08 12:41:13
【问题描述】:
我们已经将带有 travis CI 的 CI 系统引入我们基于 JavaScript 的开源项目 enchant.js。 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>
完整的错误信息在这里:https://travis-ci.org/wise9/enchant.js/builds/4016842
奇怪的是,每次我运行grunt 命令时,在不同的测试中都会导致超时错误,有时所有的测试都会通过(尽管可能性很小)
.travis.yml
language: node_js
node_js:
- 0.8
before_install:
- phantomjs --version
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"
}
}
有人知道如何解决这个问题吗?
【问题讨论】:
-
这里是示例构建结果:another error case(\n 每秒打印一次以进行调试)passed one
-
QUnit 测试是否在浏览器中工作?
-
@Odi 是的,你可以在这里运行相同的测试here。
-
我分叉了你的仓库并试图重现错误。它时常发生,但我找不到原因。通过谷歌搜索,我发现其他人也遇到了同样的问题,有些人在将 PhantomJS 降级到 1.3 时就可以正常工作。但我不确定这是否是正确的轨道。
-
谢谢。我尝试了 1.3 并成功了,但我无法弄清楚问题所在。
标签: javascript testing phantomjs qunit travis-ci