Как следить за аргументом, переданным в методе? - PullRequest
0 голосов
/ 31 октября 2019

Я хочу проверить, выполняется ли строка: slideItem.close () внутри setTimeout (). Строка внутри setTimeout () является аргументом, переданным в методе. Как я могу проверить линию внутри setTimeout. Я добавил файл спецификации ниже для справки.

  onCompleteActivity(_activity, slidingItem: ItemSliding) {
      this.store.dispatch(new activitiesActions.SelectActivity(_activity));
      this.utilService.openPage(
        ActivityCompletionPageComponent, true,
        {
          leadId: _activity.leadId, fromSchedList: true
        }
      );
      setTimeout(function() {
        slidingItem.close();
      }, 1000);
  }

spec.ts:

 it('should open: ActivityCompletionPageComponent on onCompleteActivity', fakeAsync(() => {
    spyOn(component.utilService, 'openPage');
    spyOn(component.slidingItem, 'close');
    component.onCompleteActivity(activity, component.slidingItem);
    expect(component.utilService.openPage).toHaveBeenCalled();
    expect(component.utilService.openPage).toHaveBeenCalledWith(ActivityCompletionPageComponent,
      true,
      {
        leadId: activity.leadId,
        fromSchedList: true
      })

    tick(1000);
    fixture.detectChanges();
    fixture.whenStable().then(() => {
      expect(component.slidingItem.close).toHaveBeenCalled()
    })

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Используйте logger.

Так как это для целей отладки, я считаю, вы можете использовать Logger.logLevel= 'debug' для вашей среды разработки. Если вам нужно знать это в других средах, вы можете использовать info уровень журналов

0 голосов
/ 31 октября 2019

Вы можете добавить console.log, чтобы узнать, что это функция setTimeout

console.log("inside timeout ");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...