Dire que j'ai une fonction simple avec une déclaration for
:Pourquoi mon test Jasmine n'exécute-t-il pas le code de l'application dans une boucle for?
public addIcons(icons): void {
for (let icon of icons) {
this.iconRegistry.addSvgIcon(icon['name'], icon['path']);
}
}
Si je tente d'espionner iconRegistry.addSvgIcon
, le test échoue. Si je modifie l'application pour appeler addSvgIcon
en dehors de la boucle for
, ça passe.
it('should add icons to the registry', inject([IconService, MdIconRegistry], (
service: IconService,
iconRegistry: MdIconRegistry) => {
spyOn(iconRegistry, 'addSvgIcon');
service.addIcons({ 'name': 'blah', 'path': 'blech' });
expect(iconRegistry.addSvgIcon).toHaveBeenCalled();
}));
journaux Console indiquent que la fonction addIcons
est appelée, mais la déclaration for
ne sont pas entrés. Pourquoi pas?
Merci. Voter pour fermer comme une faute de frappe. Nous laisserons la communauté décider. – isherwood