我正在尝试使用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,并且它说它找不到的模块就在那里。有什么想法吗?
答案 0 :(得分:3)
如果其他人(像我一样)最终遇到类似的问题。
在我的情况下,错误列表总是以随机的SyntaxError开头(有时是'('或'!')。实际引用的行通常甚至都不包含这些符号。
我的解决方案是将phantomjs从2.1降级到1.9版本
npm install -g phantomjs@1.9.20
(在这些情况下,使用nvm
或nave
让您的生活更轻松)
答案 1 :(得分:0)
在我的情况下,我只需要一个新的PhantomJS安装
npm uninstall phantomjs -g
npm install phantomjs -g