Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript console.log不处理任何karma项目_Javascript_Karma Jasmine_Karma Runner - Fatal编程技术网

Javascript console.log不处理任何karma项目

Javascript console.log不处理任何karma项目,javascript,karma-jasmine,karma-runner,Javascript,Karma Jasmine,Karma Runner,更新:tl;博士我更新了我的npm包,在karma中再也看不到任何console.log输出。看起来是b/c行为更改,只在log\u DEBUG级别显示console.log输出,并在log\u INFO级别隐藏它。这种改变是什么时候做出的,有没有办法恢复 原始:当我在windows命令提示符下运行karma时,我看不到控制台.log的输出。我以前在很多项目中都认为它很好,但现在它突然在我的任何项目中都不起作用了。在我在一个项目中运行了npm update之后,这似乎发生了变化。我没有npm更新

更新:tl;博士我更新了我的npm包,在karma中再也看不到任何
console.log
输出。看起来是b/c行为更改,只在
log\u DEBUG
级别显示
console.log
输出,并在
log\u INFO
级别隐藏它。这种改变是什么时候做出的,有没有办法恢复

原始:当我在windows命令提示符下运行karma时,我看不到控制台.log的输出。我以前在很多项目中都认为它很好,但现在它突然在我的任何项目中都不起作用了。在我在一个项目中运行了
npm update
之后,这似乎发生了变化。我没有
npm更新
任何其他项目,但他们都停止了工作

我用一个干净的项目创建了一个MCVE,我仍然看到相同的行为。下面是我的clean项目中已安装的软件包的列表(从
npm list
输出)

这是配置代码

karma.conf.js

module.exports = function(config) {
    config.set({
        autoWatch: false,
        singleRun: true,
        basePath: ".",
        frameworks: ["jasmine"],
        logLevel: "INFO",
        browsers: ["PhantomJS", "Chrome"],
        files: ["test.js"]
    });
};



test.js

describe("describe", function(){
    it("it", function(){
        console.log("test");
    });
}); 
请注意,我已经尝试将这两个添加到我的
karma.conf.js
。它们没有区别

        client: {
            captureConsole: true
        }

        // or

        loggers: [
            { type: "console" }
        ]
注意:我在karma github上看到过,那里的建议都没有帮助。此外,它还描述了一个带有摩卡咖啡的设置,我使用的是茉莉花-官方的解决方法是使用我尝试过的
captureConsole

我还为此问题创建了一个解决方案

环境信息:

  • Windows 10 Home,包含所有当前更新
  • 节点v7.2.1
  • 铬56

看起来karma在v1.5.0中添加了一项功能,以按日志级别过滤控制台捕获。这里有一个链接,显示发生了什么。我在文档中找不到有关此新功能的任何更新。根据代码更改,以下是新规则

您可以在karma conf文件中配置
浏览器控制台选项
,以指定终端输出上应显示的消息。设置
level
属性以指定应显示的最大级别。要显示所有消息,请将
级别设置为空字符串

对于我的情况,我需要这样设置:

browserConsoleLogOptions: {
    terminal: true,
    level: ""
}
最新消息:有一个论坛正在讨论这个问题。实际上,业力1.5中有两个变化在这里很重要

  • 他们更改了日志消息的严重性顺序,以便
    log
    ==
    DEBUG
    。使用的严重性
    LOG
    INFO
    。这意味着任何将日志级别设置为
    INFO
    的项目都会在旧版本中显示
    console.log
    消息,而不会在新系统中显示它们
  • 如上所述,他们使用
    browserConsoleLogOptions
    添加了对按日志级别筛选控制台的支持

  • 尝试切换到
    it(“it”,函数(完成)
    ,然后切换到
    done()
    在控制台下。log@ssuperczynski没有更改。非常有用。谢谢!呸。谢谢!未来的读者请注意,此设置显示在配置的顶层,作为
    客户机
    键的对等项,而不是在其中,正如这里的许多讨论所暗示的()
    browserConsoleLogOptions: {
        terminal: true,
        level: ""
    }