是否可以在茉莉花测试中隐藏console.log?

时间:2018-09-20 16:52:58

标签: testing jasmine

我正在对正在记录某些内容的函数运行一些茉莉花测试。每次运行测试时,我都会在测试输出中看到该日志。我正在测试的函数中有很多日志,但是没有找到抑制茉莉花输出中日志的方法。

我的实际测试旨在确保使用正确的字符串调用console.log。

抑制茉莉花输出中的原木实际上是为了测试美学(我只是想看到漂亮的干净绿色通过,而不是所有原木)。

3 个答案:

答案 0 :(得分:0)

如果您正在使用业力运行测试,请编辑karma.config.js并添加:

client: {
  captureConsole: false
}

答案 1 :(得分:0)

确保您的间谍没有呼叫真实的console.log()。像这样的事情应该可以解决问题spyOn(console, 'log');

答案 2 :(得分:0)

您可以在控制台方法上监视间谍并期望它被调用,这就是我在Jasmine Unit测试用例中使用它的方式。希望对您有所帮助(用“ log”代替“ warn”)

    spyOn(console, 'warn');
    fixture.detectChanges();
    component.doSomething(dummyEventObj);
    fixture.detectChanges();
    expect(console.warn).toHaveBeenCalled();