单元测试具有包含[virtualScroll]属性的离子列表的页面

fra*_*swa 6 jasmine karma-runner karma-jasmine ionic-framework ionic3

我想知道如何确保ion-list显示正确的内容.

ion-list如下所示:

<ion-list [virtualScroll]="list" [approxItemHeight]="'132px'">
  <ion-item *virtualItem="let item">
    <span item-start>{{item.foo}}</span>
  </ion-item>
</ion-list>
Run Code Online (Sandbox Code Playgroud)

单元测试:

it('should display the correct content', () => {
  comp.list = [ { foo: 'bar' } ];
  fixture.detectChanges();

  de = fixture.debugElement.query(By.css('ion-content'));
  el = de.nativeElement;

  console.log(el);
});
Run Code Online (Sandbox Code Playgroud)

这输出:

<ion-list class="list list-md virtual-loading" ng-reflect-virtual-scroll="[object Object],[object Object" ng-reflect-approx-item-height="132px">
    <!---->
</ion-list>
Run Code Online (Sandbox Code Playgroud)

如何触发因果报应来呈现ion-itemion-list

小智 0

您已在测试中手动发出更新事件:

const virtualScrollComponent = fixture.debugElement.query(By.directive(VirtualScrollComponent)).componentInstance;
virtualScrollComponent.update.emit(list);
Run Code Online (Sandbox Code Playgroud)