Функция вызова, но не показ в угловом тесте - PullRequest
0 голосов
/ 26 января 2019

У меня есть этот код.

export class MyComponent implements OnInit {

   ngOnInit() {
      // some code 
      this.method1(); // It comes up to here.
   }

   method1() {
       console.log('method1'); // It is not showing this.
       // Other method calls
   }
}

Мой файл спецификаций:

  it('should call method1', fakeAsync(() => {
    const element = fixture.debugElement.nativeElement;
    spyOn(comp, 'method1');


    fixture.detectChanges();
    // some code 
    fixture.detectChanges();


    fixture.whenStable().then(async() => {
       expect(comp.method1).toHaveBeenCalled();  // this works
    });
  }));

Что здесь может быть не так?

1 Ответ

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

Когда вы шпионите за методом, вы заменяете оригинальный на фальшивый, поэтому method1 не вызывается

Если вы хотите шпионить за методом без его замены, вы должны использовать callThrough:

spyOn(comp, 'method').and.callThrough()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...