小编mor*_*eyd的帖子

单元测试 Angular 5 滚动事件在whenStable之后触发

我无法找出为什么这个测试不起作用。下面给出我的示例代码。当我对滚动组件中的子 DIV 元素时所做的更改进行单元测试时。事件处理程序按预期触发,但 async\whenStable 不会等待 Zone 任务完成,而是在测试完成时触发任务。

我尝试使用 Renderer2.listen 分配事件,结果完全相同。

应用程序组件.ts

import { Component, Renderer2, ViewChild } from '@angular/core';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent {
  @ViewChild('message') messageBox: HTMLDivElement;
  constructor(private renderer: Renderer2) {}

  onScroll() {
     this.renderer.setStyle(this.messageBox, 'color', 'blue');
  }
}
Run Code Online (Sandbox Code Playgroud)

应用程序组件.html

<div class="scrollWindow" (scroll)="onScroll($event)">
  <div class="scrollContent">Bacon ipsum dolor amet short ribs jowl ball tip turkey sirloin meatloaf ground round capicola pork belly pork chop doner
    flank brisket boudin. Pork chop sausage alcatra meatloaf pork belly …
Run Code Online (Sandbox Code Playgroud)

scroll unit-testing dom-events angular

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

angular ×1

dom-events ×1

scroll ×1

unit-testing ×1