2014-12-06 91 views
5

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

理想情况下,我希望我的测试报告不过是单行测试用例失败列表中的常用摘要。我喜欢一次性写出给定模块的测试,然后将其作为一个简单的代码todo列出了实际代码。这是我通常在单元测试其他东西时设置的方式。相反,我得到了一丝线条和线条,并有滚动周围寻找我关心的只有一行:

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

我曾尝试过各种因缘配置logLevel选项,但我仍然得到一个跟踪转储。

请注意:我是而不是寻找关于栈跟踪的优点的辩论。我有一个具体的问题,只关心一个具体的答案。如果你知道一个插件,将提供类似的或更好的报告,我在找什么,然后请做分享!

回答

1

相当长一段时间后,我只能在卡玛 - 茉莉项目找到this closed issue,建议在配置文件在本地创建一个定制记者:

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] 
}], 

不知道一个如何能接近您的实际结果得到的。 ..相当长的一击。或者最好也许换一个不同的记者。两个例子在这里:

1

karma-test-shim.js你可以设置...

Error.stackTraceLimit = 0; // No Stack trace 

Error.stackTraceLimit = 2; // Some Stack trace 

Error.stackTraceLimit = Infinity; // Full stack trace 

经测试kjhtmlkarm-jasmine-html)记者。