2016-11-30 65 views
0

我有加載到構造一些服務模塊如何單元測試是否測試在Angular2茉莉花測試裝載或不

export class AppModule { 
    constructor(
                private oauth: OAuthService, //HOW TO TEST THIS WHETHER ITS LOADED OR NOT? 
                private translate: TranslateService 
    ){ 

        let browserLang = navigator.language; 
         
        if(browserLang.length == 2) { 
            browserLang = browserLang == 'en' ? 'en-US' : browserLang; 
            browserLang = browserLang == 'de' ? 'de-AT' : browserLang; 
        } 
        translate.use(browserLang || 'en-US'); 
    } 
} 

我如何單元測試,以檢查實例ofOAuthService和TranslateService是否得到使用Angular2 Jasmine加載到AppModule中?

+0

你現在有什麼作爲你的測試設置?你試過什麼了? – peppermcknight

回答

0

測試NgModule是否提供服務的一種方法是創建一個TestComponent,它通過構造函數注入您的服務,然後使用TestBed.configureTestingModule來創建一個測試模塊來導入您的模塊並聲明TestComponent。如果您的模塊在providers下指定了OAuthService,那麼您應該在TestComponent中接收該服務。

另一件需要注意的事情:這不是在angular2中聲明和使用模塊的推薦方式。通常你會使用@NgModule裝飾器來定義你的模塊導入,導出,提供和聲明的內容。查看official docs on NgModule的一些例子。