2017-05-08 36 views
4

我使用這個gist在應用程序啓動過程中讀取配置文件。這工作正常,但做單元測試時,我得到錯誤Cannot read property 'SomeProperty' of nullAngular APP_INITIALIZER在測試中加載配置文件

我已經加入了供應商進行測試,以及

beforeEach(async(() => { 
    TestBed.configureTestingModule({ 
     declarations: [ LoginComponent ], 
     imports: [ReactiveFormsModule, RouterTestingModule, HttpModule], 
     providers: [AuthService, 
     SettingsService, 
     AppConfig, 
     { 
      provide: APP_INITIALIZER, 
      useFactory: initConfig, 
      deps: [AppConfig], 
      multi: true 
     }, 
     ] 
    }) 
    .compileComponents(); 
    })); 

任何指針來解決這個?提前致謝。

+0

你能分享更多的代碼嗎?我沒有看到'SomeProperty' – yurzui

+0

你有沒有想出解決方案? – pop

回答

0

我在這樣的事情上旋轉了我的輪子一段時間。最後,我只是在APP_INITIALIZER提供者的「Deps」中提供了一個模擬服務,並確保它在單元測試中沒有做任何事情。

然後你只是獨立地測試初始化​​和服務,我認爲這是你能做的最好的。