如何使用ember-qunit为ember-cli构建的ember应用程序运行测试时,可以使源映射正常工作

时间:2015-02-08 20:52:19

标签: ember.js ember-cli source-maps ember-qunit testem

我使用ember-cli构建了一个Ember应用程序,并且我使用ember-qunit测试适配器编写测试并使用testem按照ember-cli在浏览器中运行它们{1}}文档。虽然当我对我的应用程序感兴趣时,谷歌浏览器中的调试工作正常,但在运行我的测试时,我无法使用许多调试功能,如断点。

我经常遇到一个问题,即我的测试失败,尽管我的实际应用程序似乎正常工作,并且在我的测试运行时调查我想要逐步执行代码的问题。

但当我进入vendor.js中显示的代码时,我只是在vendor.js中看到以下内容:

// Please wait a bit.
// Compiled script is not shown while source map is being loaded!

这两行是第6行和第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如何运行测试有关?或者它可能是我的测试中包含的东西有一个混乱的源地图?

我感谢任何帮助或想法。

1 个答案:

答案 0 :(得分:1)

我在使用ember-cli 0.2.2。

我也遇到了这个问题,发现这个Chrome issue有处理源图。 评论此问题的人建议暂时使用Chrome Canary版本:

我目前正在使用Canary构建来设置断点并调试我的余烬代码。

在此处获取:https://www.google.com/chrome/browser/canary.html