如何使用Karma单元测试运行器捕获console.error?

时间:2013-12-06 18:08:08

标签: javascript unit-testing karma-runner

Karma将捕获写入console.log的所有消息,但不会捕获写入console.error的任何消息。我知道业力使用了引擎盖下的log4js。

有没有办法配置karma捕获console.error

2 个答案:

答案 0 :(得分:11)

Karma捕获console.error(请参阅https://github.com/karma-runner/karma/blob/415d0257c23ff7be07e240648bfff0bdefa9b0b6/client/karma.js#L70

确保设置config client.captureConsole: true并使用最新的Karma。

答案 1 :(得分:5)

您可以按照此blog post

中的说明捕获console.error
describe('TestSuite', function() {
  var oldError = console.error;
  beforeEach(function() {
    console.error = function(message) {
      throw new Error(message);
    };
  });
  return afterEach(function() {
    return console.error = oldError;
  });

  it('should fail', function() {
    console.error("Oops!")
  });