Почему мой тест setInterval Jasmine не обнаруживает более одного выполнения? - PullRequest
0 голосов
/ 10 июля 2020

У меня есть setInterval, который вызывает функцию refreshData () каждые X секунд.

 this.timerId = setInterval(this.refreshData, this.refreshInterval);

Используя console.log () в refreshData (), я проверил, действительно ли он вызывается каждый X секунд.

Я попытался проверить это с помощью Jasmine

 it('should set an interval', () => {
    jasmine.clock().install();
    expect(component.refreshData).toHaveBeenCalled();
    jasmine.clock().tick(component.refreshInterval*2);
    expect(component.refreshData).toHaveBeenCalledTimes(2);
    jasmine.clock().uninstall();
  });

Независимо от значения, которое я передаю в качестве параметра в tick (), я получаю сообщение об ошибке, которое вызывается только один раз.

Мой тест написан неправильно или мой компонент ведет себя не так, как я ожидал?

...