2016-11-30 30 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的一些例子。