如何获取void函数的调用次数?

时间:2018-05-14 13:41:48

标签: javascript angular jasmine

我正在尝试编写一个测试来计算ngAfterViewInit()函数的总调用次数。 我正在测试我的指令,它只有ngAfterViewInit()函数。

it('myDirective is working', () => {    
  expect(myDirective.calls.count()).toEqual(2);
});

在测试的最后一行,我正在尝试调用calls函数上的ngAfterViewInit()属性,但是出现错误:

  

类型'()=>上的属性调用不存在无效”。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码检查ngAfterViewInit是否被调用两次:

expect(myDirective.ngAfterViewInit).toHaveBeenCalledTimes(2);

致电calls后,myDirective.ngAfterViewInit属性在spyOn(myDirective, 'ngAfterViewInit')上可用。它myDirective本身无法使用。