簡體   English   中英

Angular 2單元測試:如何重寫@Inject('Window')private _window:Window構造函數依賴項?

[英]Angular 2 unit tests: How to override @Inject('Window') private _window: Window constructor dependency?

例如,我嘗試了以下方法:

beforeEach(async(() => {

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

        ]
    });
}));

我無法覆蓋CmpBeingTested構造函數:

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

而且我不斷收到錯誤

沒有Window的提供者!

  beforeEach(async(() => {

        let windowMock: Window = { } as any;

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

            ]
        });
    }));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM