如何从规范文件angular 7中的组件访问窗口对象

问题描述 投票:0回答:1

export class HomeComponent {

  constructor() {
  }

  gettableaudata(){
    this.windowTableau.api= window;
    this.windowTab = this.windowTableau.api.tableau;  
    return  this.windowTab ;
  }

}

我一直在尝试访问我的规范文件中我组件的window对象,但是我感兴趣的property(window.tableau)尚未确定

我尝试将window.tableau存储在组件中的局部变量或方法中,并尝试访问spec文件,但没有用。

angular karma-jasmine
1个回答
0
投票

您可以(甚至应该)对窗口使用自定义提供程序并对其进行模拟:

在您的TestBed中:

const windowMock: Window = { 
    tableau: () => {doSomething()}
};


TestBed.configureTestingModule({
    providers: [
      ...
      { provide: 'Window', useValue: windowMock }
    ]
  });
© www.soinside.com 2019 - 2024. All rights reserved.