如何在Karma / Jasmine中检查控制台日志?

时间:2017-03-13 17:40:55

标签: jasmine phantomjs karma-runner

让我说我有这个功能我想测试:

var test = function () {
  console.log('words!');
};

我写这样的东西

define('test()', function () {
  it('prints "words!" to the screen', function() {
    test();
    expect(<browser logs>).toContain('words!'); // TODO
  }
}

但我不知道如何查看控制台日志或者是否可以查看。我最好在任何浏览器或至少PhantomJS中执行此操作。

1 个答案:

答案 0 :(得分:2)

您可以在console.log函数上创建间谍。代码可能看起来像......

.form-group .wrap {
  min-width: 8em;
}

使用此示例,您将知道调用了console.log函数。这正是您需要知道的。您不希望将已记录的消息与预期值进行比较,只是因为您将单元测试不是您的代码,而是window.console.log函数本身,您没有编写;)您可以调用“.and.callFake(函数) (){做一点事});”。在这种情况下,您可以执行某些操作而不是实际的console.log调用,例如检查您的值。