2016-12-14 6 views
0

は、私には、例えば、以下のことを試してみました:角2ユニットテスト:@Inject( 'Window')をオーバーライドする方法private _window:ウィンドウコンストラクタの依存関係?

constructor(@Inject('Window') private _window: Window) { } 

そして、私はエラー

ウィンドウなしのプロバイダを得続ける:

beforeEach(async(() => { 

    TestBed.configureTestingModule({ 
     declarations: [CmpBeingTested], 
     providers: [ 
      {provide: window, useValue: window} 

     ] 
    }); 
})); 

私はCmpBeingTestedコンストラクタを上書きすることはできませんよ!

答えて

0
beforeEach(async(() => { 

     let windowMock: Window = { } as any; 

     TestBed.configureTestingModule({ 
      declarations: [CmpBeingTested], 
      providers: [ 
       { provide: 'Window', useFactory: (() => { return windowMock; }) } 

      ] 
     }); 
    })); 
関連する問題