在为基于ember-cli构建的ember应用程序使用ember-qunit运行测试时,如何使源映射工作



我有一个使用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

相关内容

  • 没有找到相关文章

最新更新