Javascript 抑制Karma(AngularJS)中的堆栈跟踪
有人知道在测试AngularJS时抑制Karma给出的堆栈跟踪的方法吗?(通过配置选项或插件) 理想情况下,我希望我的测试报告只不过是一个单行测试用例失败列表,带有通常的摘要。我喜欢一次完成给定模块的测试,然后在编写实际代码时将其作为直接的待办事项列表。这就是我通常在单元测试其他东西时设置它的方式。取而代之的是,我得到了一行又一行的跟踪,必须滚动搜索我唯一关心的行: “浏览器版本(os)我的有用测试用例失败” 我尝试了各种karma configlogLevel选项,但仍然得到了一个跟踪转储Javascript 抑制Karma(AngularJS)中的堆栈跟踪,javascript,angularjs,unit-testing,stack-trace,karma-runner,Javascript,Angularjs,Unit Testing,Stack Trace,Karma Runner,有人知道在测试AngularJS时抑制Karma给出的堆栈跟踪的方法吗?(通过配置选项或插件) 理想情况下,我希望我的测试报告只不过是一个单行测试用例失败列表,带有通常的摘要。我喜欢一次完成给定模块的测试,然后在编写实际代码时将其作为直接的待办事项列表。这就是我通常在单元测试其他东西时设置它的方式。取而代之的是,我得到了一行又一行的跟踪,必须滚动搜索我唯一关心的行: “浏览器版本(os)我的有用测试用例失败” 我尝试了各种karma configlogLevel选项,但仍然得到了一个跟踪转储 请
请注意:我不想就堆栈跟踪的优点进行辩论。我有一个具体的问题,只关心一个具体的答案。如果你知道一个插件可以提供与我所寻找的插件类似或可能更好的报告,那么请做分享 过了一段时间,我只能在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]
}],
不知道你能得到多接近你的实际结果。。。很难。或者最好换个记者。这里有两个例子:
- ,以及
- (!!),听起来很有趣,带有suppressErrorReport选项
karma test shim.js
中,您可以设置
Error.stackTraceLimit = 0; // No Stack trace
Error.stackTraceLimit = 2; // Some Stack trace
Error.stackTraceLimit = Infinity; // Full stack trace
使用
kjhtml
(karm jasmine html
)reporter进行测试 快速而肮脏的解决方案:
在karma jasmine html reporterjasmine.css
文件中
添加显示:无
到类。jasmine堆栈跟踪