运行测试时EmberJS全局错误

时间:2016-07-20 19:23:29

标签: javascript ember.js ember-cli ember-testing

我正在尝试使用Ember Testing集成自动化测试。

应用程序在浏览器上运行正常,没有任何错误。我试过简单地跑

ember test

在命令行上,但是获得了一堆全局错误,所有测试都失败了。

这些是我得到的错误:

not ok 1 PhantomJS 2.1 - Global error: SyntaxError: Unexpected token ',' at http://localhost:4302/assets/vendor.js, line 145617

not ok 2 PhantomJS 2.1 - Global error: Error: Could not find module ember-metal/core required by: ember-testing/index at http://localhost:4302/assets/test-support.js, line 62

not ok 3 PhantomJS 2.1 - Global error: ReferenceError: Can't find variable: define at http://localhost:4302/assets/tests.js, line 1

...

当我在浏览器上运行测试时,我没有得到语法错误(上面的第一个),第一个错误是

Uncaught Error: Could not find module `analogue/resolver` imported from `analogue/tests/helpers/resolver`

这些对我来说没有意义,因为我不应该编辑vendor.js,并且它说它找不到的模块就在那里。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

如果其他人(像我一样)最终遇到类似的问题。

在我的情况下,错误列表总是以随机的SyntaxError开头(有时是'('或'!')。实际引用的行通常甚至都不包含这些符号。

我的解决方案是将phantomjs从2.1降级到1.9版本

npm install -g phantomjs@1.9.20

(在这些情况下,使用nvmnave让您的生活更轻松)

答案 1 :(得分:0)

在我的情况下,我只需要一个新的PhantomJS安装

npm uninstall phantomjs -g
npm install phantomjs -g