У меня есть функция ngOnInit, которая вызывает другую функцию внутри того же компонента, и я тестирую этот компонент с помощью теста jasmine.
Я хотел бы посмеяться над функцией, которая находится внутри функции ngOnInit, чтобы предотвратить исходная реализация от выполнения.
ngOnInit(): void {
this.initializeData();
}
Я пробовал следующую реализацию в моей перед каждой функцией, но таким образом ngOninit будет выполняться дважды:
beforeEach(() => {
testHostFixture = TestBed.createComponent(TestHostComponent);
testHostComponent = testHostFixture.componentInstance;
spyOn(testHostComponent, 'initializeData').and.callFake(()=>{console.log("replacement");});
testHostComponent.ngOnInit();
testHostFixture.detectChanges();
});
Есть ли в любом случае, чтобы высмеивать реализацию Функция 'initializeData' до того, как ngOnInit выполняется в первый раз?
Спасибо.