使用Jasmine测试ngSwitch

时间:2017-05-22 06:45:26

标签: angular testing karma-jasmine ng-switch

我的组件中有一段HTML:

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

我想通过karma-jasmine进行测试。我可以得到根元素

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

这会返回带有2个子元素的根节点,但我看不到这两个元素中的哪一个是活动的。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

By.css('.data-mode > span')应该返回激活的元素。记得调用fixture.detectChanges();强制Angular的变化检测运行并影响测试中的元素。