抑制Karma中的堆栈跟踪(AngularJS)

ale*_*sov 5 javascript unit-testing stack-trace angularjs karma-runner

有没有人知道在测试AngularJS时抑制Karma给出的堆栈跟踪的方法?(通过配置选项或插件).

理想情况下,我希望我的测试报告只不过是使用常规摘要的单行测试用例失败列表.我喜欢一次性写出给定模块的测试,然后在编写实际代码时将其用作直接的待办事项列表.这是我通常在单元测试其他东西时设置它的方式.相反,我得到一条线的痕迹和线条,并且必须滚动搜索我关心的唯一一条线:

" 浏览器版本(os)我的有用测试用例失败 "

我尝试了各种karma配置logLevel选项,但我仍然得到一个跟踪转储.

请注意:我不是在寻找关于堆栈跟踪优点的辩论.我有一个特定的问题,只关心具体的答案.如果你知道一个插件可以提供与我正在寻找的相似或更好的报告,那么分享!

sup*_*jos 1

相当长一段时间后,我只能在 karma-jasmine 项目上找到这个已关闭的问题,建议在配置文件中本地创建一个自定义报告器:

var myReporterFactory = function() {

    this.onRunComplete = function(browser, result) {
        var TOTAL_FAILED = 'TOTAL: %d FAILED, %d SUCCESS\n';
        process.stdout.write(
            require('util').format(TOTAL_FAILED, result.error, result.success)
        );
    };

    return this;
};

// ...

plugins: [
  // other karma plugins ...
  {
    'reporter:myReporter': ['factory', myReporterFactory]
}],
Run Code Online (Sandbox Code Playgroud)

不确定与你的实际结果有多接近……可能性很大。或者最好换一个记者。这里有两个例子: