Я получаю сообщение об ошибке при создании экземпляра тестового компонента.Неожиданное значение «DecoratorFactory», импортированное модулем «DynamicTestModule» - karma-jasmine
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 ');
});
});
Я получаю ошибки: Неожиданное значение «DecoratorFactory» импортируется модулем ошибки «DynamicTestModule». Я замечаю, что если я удалю «fixture = TestBed.createComponent (TaskviewComponent)»; ошибка будет решена. но это не создаст тестовый компонент. Кроме того, я замечаю, что если я не включу NgModule в import [], такие элементы, как Ngmodel, datepicker и т. Д., Не распознаются.
Если вы используете Bootstrap 4 для Angular и Emmet, Emmet может иметь autopopulated NgModule, и вы приняли его вместо NgbModule. Как вы можете видеть, они близки к написанию, так что это может произойти. Это то, что я сделал, подумал, что я поделюсь, если у кого-то еще будет эта проблема. –