如何测试角形材料日期选择器?

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

我使用角形材料创建了一个组件,我想对其进行测试。

这些是角形和角形材料的版本:

  • Angular 9.1.4
  • 角材料9.2.2

视图具有此代码以渲染日期选择器:

<input
    hidden
    matInput
    [matDatepicker]="datePickerCalendar"
    (dateChange)="onCalendarChange($event)"
/>
<mat-datepicker-toggle matPrefix [for]="datePickerCalendar"></mat-datepicker-toggle>
<mat-datepicker #datePickerCalendar startView="multi-year"> </mat-datepicker>

控制器以这种方式获取datepicker元素:

@ViewChild('datePickerCalendar') public datePickerCalendar: MatDatepicker<Date>;

这是从日期选择器触发dateChange时调用的方法:

public onCalendarChange(e: MatDatepickerInputEvent<Moment>): void {
    this.datePickerCalendar.close()
}

所以我的问题是,我如何实现创建组件的单元测试,并且在调用此方法时将无错误地调用close()方法?

我尝试在线搜索,但没有找到任何实现datepicker单元测试的内容。唯一好的教程是来自角材料网站(link)的教程,但没有说明如何测试角材料datepicker。

谢谢

angular unit-testing angular-material
1个回答
0
投票

请参阅CDK组件下的“材料文档”,称为“线束”。使用此模块,您可以对材料组件进行单元测试,而不必担心诸如debounceTime之类的单个细节以及更多的合理性...

https://material.angular.io/cdk/test-harnesses

© www.soinside.com 2019 - 2024. All rights reserved.