0

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

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

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

4

2 回答 2

2

我不熟悉 firebug,但如果您能够捕获 Chrome 浏览器,则可以打开开发者控制台(工具 -> JavaScript 控制台)并在那里查看错误。您可以在打开 javascript 控制台时设置断点,方法是:

debugger;

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

于 2013-04-24T17:33:27.027 回答
0

我正在使用 Karma 版本 0.8.4

不确定这是否是最好的方法,但我通常在 CI 模式下运行 Karma 时捕获浏览器。

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

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

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

附带说明:考虑使用JSHint来避免常见的 JS 语法错误。

于 2013-04-19T12:23:10.357 回答