2017-05-22 11 views
0

Ich habe ein Stück von HTML in meiner Komponente:Testing ngSwitch mit Jasmin

<div [ngSwitch]="data.mode" class="data-mode"> 
    <span ngSwitchWhen="mode1">Mode 1 Activated</span> 
    <span ngSwitchWhen="mode2">Mode 2 Activated</span> 
</div> 

und ich möchte es durch Karma-Jasmin testen. Ich kann das Wurzelelement erhalten

const headerMode = fixture.debugElement.query(By.css(".data-mode")); 

Dies gibt den Wurzelknoten mit zwei untergeordneten Elemente, aber ich kann nicht, welche der beiden aktiv sehen.

Wie mache ich das?

Antwort

1

By.css('.data-mode > span') sollte das aktivierte Element zurückgeben. Vergessen Sie nicht, die Nummer fixture.detectChanges(); anzurufen, um die Änderungserkennung von Angular zu erzwingen, um die Elemente im Test vor der Verarbeitung auszuführen.

Verwandte Themen