Жасмин: тестирование статической функции в другом классе - PullRequest
0 голосов
/ 14 января 2019

Предполагая, что у меня есть статический класс и нормальный класс, как показано ниже.

class StaticClass {
  static staticFunction() { 
    console.log('Static function called.');
  }
}

class NormalClass {
  normalFunction() { 
    StaticCLass.staticFunction();
  }
}

Как проверить, что статическая функция вызывается при вызове normalFunction()?

1 Ответ

0 голосов
/ 15 января 2019

Вы можете настроить простого шпиона (как вы уже догадались по тегу из вашего вопроса) следующим образом:

it('should test if the static function is being called ', () => {
  // Set up the spy on the static function in the StaticClass
  let spy = spyOn(StaticClass, 'staticFunction').and.callThrough();
  expect(spy).not.toHaveBeenCalled();

  // Trigger your function call
  component.normalFunction();

  // Verify the staticFunction has been called
  expect(spy).toHaveBeenCalled();
  expect(spy).toHaveBeenCalledTimes(1);
});

Здесь - это стек-блиц, в котором реализован и проходит вышеуказанный тест.

...