TestingngZone runOutsideAngular

时间:2018-03-11 13:49:09

标签: angular jasmine

在我们的组件中,我们必须在角度区域之外运行一个方法。我们使用该代码:

ngOnInit() {
    this.zone.runOutsideAngular(() => {
      this.layoutService.bindScroll();
    });
}

我们很难测试这个小片段。

layoutService使用createSpyObj('layoutService, ['bindSroll'])进行模拟。

对于ngZone部分,我们可以创建spyObj包含runOutsideAngular ngZone ngZone.runOutsideAngukar.and.callFake()方法并提供它。

但是这样做,bindSroll方法中的哪些内容可以测试是否onInit,我们在runOutsideAngular内得到了runOutsideAngular方法。

如何测试这两种行为:

  • 致电bindScroll初始
  • 在runOutsideAngular
  • 中调用Test | |---src | | | |---main | | | | | |---main.lua | |---libraries | | | |---testlibraries.lua

1 个答案:

答案 0 :(得分:0)

也许在bindScroll内查看NgZone.assertNotInAngularZone会有所帮助。