0

我正在尝试编写端到端测试。我正在使用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。但既然没有变化,那应该不是原因。

有任何想法吗?谢谢

4

0 回答 0