fakeAsyn c тест не выполняется в модульном тесте Angular / Karma - PullRequest
0 голосов
/ 19 июня 2020

Я работаю над проектом Angular 8.

Я пишу тест для функции с setTimeout 1000 мс. Я исследовал использование fakeAsyn c для этого, но у меня есть некоторые проблемы. Вот мой тест:

fdescribe("redirectToErrorPage", () => {
    it("should set confirmationNavigation to false after timeout"),
      fakeAsync(() => {
        component.confirmNavigation = true;
        component.redirectToErrorPage();  //this func has a setTimeout
        expect(component.confirmNavigation).toBeTruthy(); //before tick, will still be true
        tick(1001);
        expect(component.confirmNavigation).toBeFalsy();
      });
  });

Я сосредотачиваюсь только на этом тесте, и когда я его запускаю, он показывает, что тесты не завершены.

0 tests completed

enter image description here

Из вывода Karma я вижу, что у меня есть «1 незавершенный расход c ".

Как я могу разрешить это отложенное SP c? Как я могу запустить мой тест fakeAsyn c с выводом? Вышеупомянутый тест должен пройти, но даже если я изменю ложь на правду, результат не изменится. Я также могу расфокусировать этот тест и запустить его с другим и получить тот же результат.

Любая помощь будет принята с благодарностью.

...