【问题标题】:How to see errors of a Testacular/AngularJS test如何查看 Testacular/AngularJS 测试的错误
【发布时间】:2013-04-19 10:50:16
【问题描述】:

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

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

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

【问题讨论】:

    标签: angularjs jasmine karma-runner


    【解决方案1】:

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

    debugger;
    

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

    【讨论】:

      【解决方案2】:

      我使用的是 Karma 0.8.4 版

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

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

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

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

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

      【讨论】:

      • 我在屏幕上没有看到调试按钮,是否仅限于特定浏览器?
      • 不过,您应该可以通过http://locahost:your_port/debug.html 访问该页面。这也是不可访问的吗?否则,如果您运行的是旧版本,您可以升级吗?
      • 我可以进入 debug.html 页面,但它只是一个空白页面。我不知道从那里做什么。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      • 2018-09-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多