预期的间谍日志已被调用

Sum*_*uri 2 javascript unit-testing jasmine angularjs karma-runner

我创建了一个简单的 JS函数,我想测试它,但是当我运行它时,它显示错误预期的间谍日志被称为我做错了什么?

功能

function helloWorld() {
    console.log('hey');
}
Run Code Online (Sandbox Code Playgroud)

测试规格

describe('Hello world', function () {
    it('says hello', function () {
        spyOn(console,'log').and.callThrough();
        expect(console.log).toHaveBeenCalled();
    });
});
Run Code Online (Sandbox Code Playgroud)

小智 6

这不是错误,而是失败的测试。那是因为您没有在示例中调用 log 函数,因此测试“正确”失败。

describe('Hello world', function () {
  it('says hello', function () {
    spyOn(console,'log').and.callThrough();
    comp.helloWorld();
    expect(console.log).toHaveBeenCalled();
  });
});
Run Code Online (Sandbox Code Playgroud)