我有一个使用ember-cli
构建的Ember应用程序,我正在使用ember-qunit
测试适配器编写测试,并按照ember-cli
文档中的说明使用testem
在浏览器中运行测试。尽管当我对我的应用程序感兴趣时,在Google Chrome中进行调试可以很好地进行,但在运行测试时,我无法使用许多调试功能,如断点。
尽管我的实际应用程序似乎工作正常,但我经常遇到测试失败的问题,为了调查这个问题,我想在测试运行时逐步检查代码。
但当我进入出现在vendor.js
中的代码时,我只在vendor.js
中看到以下内容:
// Please wait a bit.
// Compiled script is not shown while source map is being loaded!
这两条线是线6&7。在此之前的行为空,这两行是文件中的最后一行。调试器会突出显示文件的第一行,就好像这是源中的当前位置一样,但由于某种原因无法显示源。
我可以继续遍历代码,但什么也看不到。
但是,如果我在开发人员工具源文件列表的源列表中找到vendor.js
,那么它将作为一个单独的源选项卡打开,我可以看到我的所有代码。此时,我有两个标签为vendor.js
的选项卡,一个包含我的所有供应商资产,另一个仅包含上面引用的行。
我猜测,在让Chrome感到困惑的开发环境中,我的测试和应用程序的服务方式有所不同。
我正在使用以下版本的东西:
ember 1.9.1
ember-data 1.0.0-beta.14.1
ember-cli 0.1.9
qunit 1.17.1
ember-qunit 0.2.0
testem 0.6.33
尽管我已经讲了很多,但我并没有任何关于问题根源的线索。也许这与testem
如何运行测试有关?或者可能是我的测试中包含的东西有一个混乱的源地图?
我感谢任何帮助或想法。
我使用的是ember cli 0.2.2。
我也遇到了这个问题,并在处理源地图时发现了Chrome的问题。评论这个问题的人建议暂时使用Chrome Canary版本:
我目前正在使用Canary构建来放置断点并调试我的ember代码。
在这里获取:https://www.google.com/chrome/browser/canary.html