从正在测试的代码中抑制控制台日志

时间:2015-05-05 12:25:38

标签: jasmine karma-runner karma-jasmine

我正在测试一个包含console.log()电话的功能。

如何阻止该调用的输出显示在我的测试运行器的输出控制台中,在本例中为Karma。
我使用的是Jasmine。

我正在寻找比覆盖浏览器console方法更优雅的方法,最好是配置。

2 个答案:

答案 0 :(得分:9)

client.captureConsole = false config set function中设置karma.conf.js

module.exports = function (config) {
    config.set({
        client: {
            captureConsole: false
        }
    });
};

原始feature request

答案 1 :(得分:0)

accepted answer的问题在于它还会抑制Karma日志。

如果只想抑制调用方法的日志记录,请将browserConsoleLogOptions.level中的karma.conf.js设置为适当的级别。将browserConsoleLogOptions.level设置为"warn"将禁止所有logdebug日志。

可复制粘贴的代码段:

// file: karma.conf.js

module.exports = function (config) {
    config.set({
        // other options...
        browserConsoleLogOptions: {level: "warn"}
    }
}

请参阅karma configuration file documentation以获取参考。