Я не думаю, что вы можете непосредственно шпионить за функцией класса Adders
, как это, вместо этого шпионить за prototype
или создать экземпляр класса и шпионить за этим.Я бы использовал двух шпионов и реализовал бы это так:
it("spyon", () => {
const countlistSpy = spyOn(Adders.prototype, 'countlist');
const addSpy = spyOn(Adders.prototype, 'add');
// call your function / trigger something that calls the function
expect(countlistSpy).toHaveBeenCalledTimes(1);
// more expectations here
});
Или с экземпляром класса в блоке beforeEach
вы можете определить свой экземпляр следующим образом:
let adder: Adders = new Adders();
И тогда ваш тест будет выглядеть так:
it("spyon", () => {
const countlistSpy = spyOn(adder, 'countlist');
const addSpy = spyOn(adder, 'add');
// call your function / trigger something that calls the function
expect(countlistSpy).toHaveBeenCalledTimes(1);
// more expectations here
});