簡體   English   中英

測試Angular Material Table時ExpressionChangedAfterItHasBeenCheckedError

[英]ExpressionChangedAfterItHasBeenCheckedError when testing Angular Material Table

使用Angular 7我使用ng generate @angular/material:table test-table將材質表添加到我的應用程序ng generate @angular/material:table test-table

在生成的模板中有一個paginator:

<mat-paginator #paginator
    [length]="dataSource.data.length"
    [pageIndex]="0"
    [pageSize]="50"
    [pageSizeOptions]="[25, 50, 100, 250]">
</mat-paginator> 

在init上,數據源已更改:

ngOnInit() {
  this.dataSource = new ItemsTableDataSource(
    this.paginator,
    this.sort,
    this.route.paramMap,
    this.afs
 );
}

當試圖在Karma expect(component).toBeTruthy();編譯組件時 我收到以下錯誤

Error: ExpressionChangedAfterItHasBeenCheckedError: Expression has 
changed after it was checked. Previous value: 'length: 0'. Current 
value: 'length: 1'.

我該如何解決這個問題?

不知道它是多么猶豫,但在我的情況下,我只是從spec文件中刪除了'fixture.detectChanges()'調用。 我正在使用A6 ReactiveForm,在測試中設置一些初始虛擬日期范圍值。 表單工作正常但測試因錯誤而失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM