如何查看Testacular / AngularJS测试的错误

时间:2013-04-19 10:50:17

标签: angularjs jasmine karma-runner

我继承了AngularJS / Testacular / Jasmine单元测试套件,很难确定如何运行测试并查看任何相关的失败消息。也就是说,我可以轻松地运行所有测试,我可以执行ddescribe之类的操作来运行一个测试,我可以看到它失败了。但现在我无法确定它失败的原因。

我已经安装了Firebug并且可以看到console.log语句,但不能看到JavaScript错误(我认为这是一个JS错误,因为它突然结束)。我也看到了Testacular的“debug.html”端点,但我不知道我是如何使用它的。

如何查看可能导致我的测试失败的JavaScript错误?

2 个答案:

答案 0 :(得分:2)

我不熟悉firebug,但如果您能够捕获Chrome浏览器,则可以打开开发人员控制台(工具 - > JavaScript控制台)并查看错误。您可以通过放置行

在javascript控制台打开时设置断点
debugger;
你的代码中的

。下次运行测试时,Chrome将在该行暂停,您可以使用控制台检查变量。

答案 1 :(得分:0)

我正在使用Karma版本0.8.4

不确定这是否是最佳方式,但我通常capture a browser在CI模式下运行Karma。

然后我可以点击打开的浏览器窗口上的Debug按钮,以单页模式运行Jasmine。该文件托管在http://localhost:9876/debug.html,如果Debug按钮不可用/可见,则可以直接访问该文件。

在控制台偷看,告诉我我的脚本有什么错误。我必须这样做,因为我使用RequireJS并且缺少依赖项只会导致:

  

未捕获错误:脚本错误   http://requirejs.org/docs/errors.html#scripterror

作为旁注:考虑使用JSHint来避免常见的JS语法错误。