Jasmine 组件的角度2单元测试
我正在使用网页2的ng2 我不知道如何测试组件功能 这是我的组件 从“@angular/core”导入{Component,OnInit}; 从“../global.service”导入{GlobalDataService}; 从'@angular/Router'导入{Router}; @组成部分{ 选择器:“登录”, templateUrl:“./login.component.html” } 导出类登录组件{ constructorprivate gd:GlobalDataService,专用路由器:路由器{} 登录名:void{ this.gd.shareObj['role']='admin'; this.router.navigateByUrl'/login'; }Jasmine 组件的角度2单元测试,jasmine,karma-jasmine,angular2-components,angular2-testing,Jasmine,Karma Jasmine,Angular2 Components,Angular2 Testing,我正在使用网页2的ng2 我不知道如何测试组件功能 这是我的组件 从“@angular/core”导入{Component,OnInit}; 从“../global.service”导入{GlobalDataService}; 从'@angular/Router'导入{Router}; @组成部分{ 选择器:“登录”, templateUrl:“./login.component.html” } 导出类登录组件{ constructorprivate gd:GlobalDataService,
} 我会这样做:
class RouterStub {
navigateByUrl(url: String) { return url; }
}
class GlobalDataServiceStub {
shareObj: any = {};
}
describe('LoginComponent', () => {
beforeEach(() => {
TestBed.configureTestingModule({
declarations: [LoginComponent],
providers: [
{ provide: GlobalDataService, useClass: GlobalDataServiceStub },
{ provide: Router, useClass: RouterStub }
]
});
fixture = TestBed.createComponent(LoginComponent);
comp = fixture.componentInstance;
});
it('should set role to admin',
inject([GlobalDataService], (gd: GlobalDataService) => {
comp.login();
expect(gd.shareObj['role']).toBe('admin');
})
);
});