我无法找出为什么这个测试不起作用。下面给出我的示例代码。当我对滚动组件中的子 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)