Je veux tester la fonctionnalité de mon bouton de masquage dans mon Angular 2 (les tests sont écrits en Jasmine), j'ai donc besoin de vérifier la valeur de la propriété display
de l'élément pertinent. Comment obtenir cette propriété en utilisant debugElement
d'Angular? Code de test:
let input = fixture.debugElement.query(By.css('input'));
expect(input.styles['visibility']).toBe('false');
J'obtiens l'erreur: Attendu non défini comme étant "faux".
Pour quiconque tombe sur cet exemple, la solution à ce problème spécifique avec display
est la propriété hidden
sur le debugElement
. Il contiendra true
si l'élément est masqué et false
sinon.
J'avais le même problème. Le DebugElement.styles
est toujours un objet vide même si je donne explicitement du style à cet élément (peut-être un bug dans angular?). Je préfère donc obtenir cela du navigateur native element
directement:
let input = fixture.debugElement.query(By.css('input'));
expect(input.nativeElement.style.visibility).toBe('false');