angular – 模块’DynamicTestModule’导入的意外值’DecoratorFactory’ – karma-jasmine

我在创建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”,因为它是装饰器而不是模块.

点赞