我正在尝试编写端到端测试。我正在使用cytoscape.js和 angular 11。Cytoscape.js不断渲染画布以进行图形可视化。所以变更检测总是被触发。为了消除我正在使用如下的runOutsideAngular方法ngZone
this.ngZone.runOutsideAngular(() => {
this._g.cy = cytoscape({
container: containerElem,
zoom: 1,
});
});
因此,通过这种方式,变化检测不会不断触发。
我还使用以下代码检查在我的主要角度分量中检测到的变化。
ngAfterViewChecked(): void {
console.log('change detected!');
}
我的问题是端到端测试。在测试中,即使没有任何更改(我正在打开开发者控制台并检查)并且网站看起来很空闲,我看到测试仍在等待某些东西。它等待 5-6 秒。这使我所有的测试都花费了太多时间。
我怀疑waitForAngular。但既然没有变化,那应该不是原因。
有任何想法吗?谢谢