如何验证方法被调用n次?

时间:2017-08-28 17:36:30

标签: angular jasmine karma-jasmine

我正在监视我的组件的方法,如下所示:

calls

如何验证component.someMethod被调用了n次?

Intelisense没有给我{{1}}属性。

2 个答案:

答案 0 :(得分:0)

it("tracks the number of times it was called", function() {
    spyOn(foo, 'setBar');

    expect(foo.setBar.calls.count()).toEqual(0);

    foo.setBar();
    foo.setBar();

    expect(foo.setBar.calls.count()).toEqual(2);
  });

答案 1 :(得分:0)

您不需要任何自定义方法。 Jasmine确实提供了方法toHaveBeenCalledTimes()

参见茉莉花文件。

https://jasmine.github.io/2.4/introduction.html

对于你的例子,它将是 - 期望(component.yourmethod).toHaveBeenCalledTimes(N);