我正在开发一个在Ember 2.2上停留了一段时间的应用程序,最后我们花了很多时间来升级到Ember 2.10。在修复了代码中的所有弃用警告,并相应地升级了一些依赖项的版本之后,我们终于让应用程序在浏览器中100%地工作了。然而,当我们现在运行ember测试时,它们会以致命的方式失败(即测试甚至没有运行)。
这是ember test命令的输出:
$ ember test
cleaning up...
Built project successfully. Stored in "/Users/ernesto/code/my-app/frontend/tmp/core_object-tests_dist-oanj8mZd.tmp".
not ok 1 Browser "phantomjs /Users/ernesto/code/my-app/frontend/node_modules/testem/assets/phantom.js http://localhost:7357/4233/tests/index.html?hidepassed" failed to connect. testem.js not loaded?
1..1
# tests 1
# pass 0
# skip 0
# fail 1
Not all tests passed.
Error: Not all tests passed.
at EventEmitter.App.getExitCode (/Users/ernesto/code/my-app/frontend/node_modules/testem/lib/app.js:434:15)
at EventEmitter.App.exit (/Users/ernesto/code/my-app/frontend/node_modules/testem/lib/app.js:189:23)
at /Users/ernesto/code/my-app/frontend/node_modules/testem/lib/app.js:103:14
at tryCatcher (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/promise.js:510:31)
at Promise._settlePromise (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/promise.js:567:18)
at Promise._settlePromise0 (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/promise.js:612:10)
at Promise._settlePromises (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/promise.js:691:18)
at Async._drainQueue (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/async.js:143:10)
at Immediate.Async.drainQueues [as _onImmediate] (/Users/ernesto/code/my-app/frontend/node_modules/testem/node_modules/bluebird/js/release/async.js:17:14)
at processImmediate [as _immediateCallback] (timers.js:383:17)我能从这条错误信息中提取到的唯一线索是它写着testem.js not loaded?的地方。我如何检查这是否正在发生,如果是,为什么它没有加载,如何使它再次加载?
如果有人能说明一下这里可能发生的事情,我将不胜感激。
发布于 2017-01-16 14:42:44
好的,我最终找到了问题的原因,所以我在这里回答这个问题是为了完整和将来的参考。
tests/index.html文件需要一些更改才能正确定位testem.js文件在Ember版本更改后所处的位置。所以,不是这样的:
<script src="testem.js" integrity=""></script>我必须在/ attr值前面添加一个src。结果看起来是这样的:
<script src="/testem.js" integrity=""></script>我们还有一些其他的问题要解决,但是我们以前遇到的致命的失败已经过去了。
https://stackoverflow.com/questions/41677707
复制相似问题