是否可以在茉莉花测试中抑制控制台.log?



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

我的实际测试是监视以确保使用正确的字符串调用控制台.log。

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

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

client: {
captureConsole: false
}

您可以将间谍放在控制台方法上并期望它已被调用,这就是我在 Jasmine Unit 测试用例中使用它的方式。希望它有帮助(将"警告"替换为"日志"(

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

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

相关内容

最新更新