Как получить доступ к объекту окна из компонента в spec-файле angular 7 - PullRequest
0 голосов
/ 03 октября 2019

export class HomeComponent {

  constructor() {
  }

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

}

Я пытался получить доступ к объекту окна моего компонента в моем spec-файле, но интересующее меня свойство (window.tableau) оказалось неопределенным

Я попытался сохранить window.tableau в локальной переменной или метод внутри компонента и попытался получить доступ в файле спецификации, но это не сработало.

1 Ответ

0 голосов
/ 03 октября 2019

Вы можете (или даже должны) использовать собственный провайдер для окна и смоделировать его:

В вашем TestBed:

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


TestBed.configureTestingModule({
    providers: [
      ...
      { provide: 'Window', useValue: windowMock }
    ]
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...