【问题标题】:PhantomJS 2.0 hanging on ember testPhantomJS 2.0 挂在 ember 测试中
【发布时间】:2015-02-12 04:45:46
【问题描述】:

我有一个简单的 ember-cli 应用程序。我使用ember test 运行单元测试,它在phantomJS 中运行它们。使用 Function.prototype.bind 的测试失败,因为 phantom 1.9.x 缺少该 API 的众所周知的问题。我安装了 phantom 2.0,但现在当我运行 ember test 时,在成功构建后,测试从未运行,它只是挂在那里,没有错误,什么都没有。

您对这里可能出现的问题或如何追踪问题有任何想法吗?

操作系统是 Windows。

【问题讨论】:

  • 哟!真正的 Juzt uze polyfill:将 developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 放在 vendor/phantom-polyfills.js 中,然后将其导入 Brocfile:if (app.env === 'test') { app.import('vendor/phantom-polyfills.js'); }
  • @lessless 谢谢,这就是我为解决问题所做的基本工作,但我想让事情与 phantom 2.0 一起工作。
  • 您是否使用ember testember test --serve 运行测试?
  • 我曾经遇到过这个问题,但是我再次尝试了phantomjs 2.0,现在它可以正常工作,没有任何更改或问题。也许升级到 ember 软件包已经解决了它,因为我在几个版本之前遇到了这个问题。

标签: ember.js phantomjs ember-qunit ember-testing


【解决方案1】:

我在 OSX 10.10 上使用 Phantom JS 1.9.8,但我遇到了以下问题,它可能会帮助您了解这一点。

在我使用的应用程序中,ENV.baseUrl 标志设置为“/app-name”(默认为 - '/'),我的行为完全相同。测试构建,但没有进一步进行。

如果我将我的 ENV.baseUrl 更改为“/”,幻影将运行测试。验收测试失败(我推测是因为 URL 不同,但所有单元测试都通过了)。但是,当我这样做时......在真正的浏览器中运行测试停止工作(因为它无法找到资源 - CSS,JS - 不再),我尝试将 tests/index.html 页面更改为正确的参考脚本(/app-name/css/...等...),然后我回到浏览器中运行测试,但幻象停止工作。

相同的测试在我将模型、控制器和测试复制到该项目的“空 ember-cli 项目”中运行良好。意思就是这两个项目的区别基本上是环境配置。

我发现了这些问题

Ember Issue 891 , Ember Issue 1003

这似乎与情况有关,但两者都关闭了一段时间。我已经对这个问题进行了近一周的调查,但似乎无法通过ember test 在浏览器AND中运行测试。

【讨论】:

  • 我的 baseUrl=/app-name 也有同样的问题。我遵循了本期提交中显示的修复:github.com/ember-cli/ember-cli/issues/1003,这是为了确保我在 environment.js 中为 environment==='test' 设置了 ENV.baseURL = '/'。我现在可以通过“ember test --serve”在真实浏览器中运行“ember test”和测试我无法再通过点击 localhost:4200//tests 来运行测试,但我可以活下去因为'ember test --serve'有效。
  • 抱歉@LeoHernandez 回复晚了,目前我的情况与用户 benzo 完全相同。使用 ember test 和 ember test --serve 运行测试,但在点击 localhost:4200/tests 时我无法运行
  • 当我升级到 PhantomJS 2.0 时它开始为我工作
猜你喜欢
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 2015-10-11
  • 1970-01-01
  • 2017-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多