我在创建Test组件实例时遇到错误.
let comp: TaskviewComponent; let fixture: ComponentFixture; let deTaskTitle: DebugElement; let elSub: HTMLElement; describe('TaskviewComponent',() => { beforeEach( () => { TestBed.configureTestingModule({ declarations: [ TaskviewComponent ],imports: [ NgModule,RouterTestingModule,TranslateModule.forRoot(),],providers: [ RestDataService,Restangular,{provide: OAuthService,useClass: OAuthServicMock},{provide: ComponentFixtureAutoDetect,useValue: true},{provide: UserInfoService,useClass: UserInfoServiceMock},{ provide: LocalStorageService,//provide: LOCAL_STORAGE_SERVICE_CONFIG,useValue: { prefix: ApplicationConstants.ANGULAR2_LOCAL_STORAGE_ID,storageType: 'sessionStorage' } }],}) fixture = TestBed.createComponent(TaskviewComponent); comp = fixture.componentInstance; deTaskTitle = fixture.debugElement.query((By.css('.Subject'))); elSub = deTaskTitle.nativeElement; }); it('should have a subject',() => { expect(elSub.textContent).toContain('Client Data Maintenance2 '); }); });
我收到错误:由模块’DynamicTestModule’错误导入的意外值’DecoratorFactory’.我注意到如果我删除“fixture = TestBed.createComponent(TaskviewComponent);”错误将得到解决.但这不会创建测试组件.另外,我注意到如果我在import []中不包含NgModule,则不会识别Ngmodel,datepicker等元素.
解决方法
您不能导入“NgModule”,因为它是装饰器而不是模块.