如何使用karma.js + require.js调试测试

时间:2013-10-03 15:55:01

标签: requirejs karma-runner

我有一个基本上在这里描述的设置 - http://karma-runner.github.io/0.8/plus/RequireJS.html

问题是我无法在Chrome开发工具中看到我的测试的源文件。所以我无法调试它。添加debugger;有效,但它非常不舒服,几乎无法使用,因为我无法浏览除debugger;当前被解雇的文件之外的任何其他文件

似乎是karma加载文件,解析它们,包装每个测试然后在运行之前卸载文件。

2 个答案:

答案 0 :(得分:1)

ng-boilerplate有一个grunt构建,它将把你所有的普通js文件放到build目录中进行测试和调试。

请查看Gruntfilekarma/karma-unit.tpl.js了解具体方法。

运行grunt watch会使您的浏览器处于可以调试所有测试的状态。只需点击debug button,设置断点并重新加载页面即可。

突然间,您正在调试任何或所有js文件。

答案 1 :(得分:0)

如果您需要深入调试测试,这通常是代码组织严重或单元测试结果不佳的指标。如果您遵循TDD工作流程,采取一小步将帮助您防止代码出现任何重大问题。我热烈建议您观看此视频:http://blog.testdouble.com/posts/2013-10-03-javascript-testing-tactics.html?utm_source=javascriptweekly&utm_medium=email(它不使用Karma,但您应该根据工作流程/所提出的原则进行观看)

然后,如果你真的想调试你的测试代码,那么没有什么比这更好的了。因此,您应该以可以在Karma和浏览器中运行的方式设置测试。我们为QUnit, Jasmine and Mocha on the Backbone-Boilerplate实现了此功能。您可以根据这些设置自行设置自己的环境。