如何测试Angular mat-nav-list是否包含元素?

问题描述 投票:2回答:1

我想检查一个Angular mat-nav-list是否包含一个元素。

我可以用fixture.debugElement.query(By.css('.items'))选择它,但我不知道如何检查它是否包含任何东西。

我的模板:

<mat-nav-list class="items">
    <a class="list-item" mat-list-item *ngFor="let item of items">
        <app-item-display [item]="item"></app-item-display>
    </a>
</mat-nav-list>

在我的测试中,我注入1个项目并期望它渲染。虽然组件确实包含一个项目,但我想检查它是否在列表中呈现。

javascript angular unit-testing karma-jasmine jasmine2.0
1个回答
2
投票

尝试queryAll

const items= fixture.debugElement.queryAll(By.css('.list-item'));

然后你可以在伪造物品清单后检查长度是否正确

expect(items.length).toBe(2) // or your fake data length
© www.soinside.com 2019 - 2024. All rights reserved.