Em meu aplicativo Angular 17, tenho um elemento âncora que possui um href para navegação e um manipulador de cliques. Não estou preocupado em testar o href, mas estou tentando escrever um teste simples de "deve chamar a função" para o manipulador de cliques.
Resumidamente,
<a
href="some url"
target="_blank"
(click)="handleClick()"
id="anchor-to-test"
>
Click me! :)
</a>
e o teste associado:
it('should call click handler when link is clicked', fakeAsync(() => {
const onClickSpy = spyOn(component, 'handleClick');
fixture.detectChanges();
const link = fixture.debugElement.query(By.css('#anchor-to-test'));
link.click();
tick();
expect(onClickSpy).toHaveBeenCalled();
}));
Quando executo o teste, a janela karma/jasmine acaba gerando novas guias repetidamente a cada 5 segundos ou mais, consumindo os recursos do meu sistema e impedindo que qualquer teste seja realmente executado (ou pelo menos concluído).
Tentei as sugestões nesses dois tópicos sem sucesso e meu google-fu está falhando.
Tente remover o
href
atributo e depois realizar o clique!