Я работаю над проектом 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();
});
});
Я сосредотачиваюсь только на этом тесте, и когда я его запускаю, он показывает, что тесты не завершены.
Из вывода Karma я вижу, что у меня есть «1 незавершенный расход c ".
Как я могу разрешить это отложенное SP c? Как я могу запустить мой тест fakeAsyn c с выводом? Вышеупомянутый тест должен пройти, но даже если я изменю ложь на правду, результат не изменится. Я также могу расфокусировать этот тест и запустить его с другим и получить тот же результат.
Любая помощь будет принята с благодарностью.