【问题标题】:QUnit tests fail on Travis CI (running on phantomjs with grunt.js)Travis CI 上的 QUnit 测试失败(在带有 grunt.js 的 phantomjs 上运行)
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-21
    • 2012-10-10
    • 2020-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    相关资源
    最近更新 更多