Angular 单元测试错误 - 无法绑定到 'formGroup',因为它不是 'form' 的已知 属性
Angular unit test error - Can't bind to 'formGroup' since it isn't a known property of 'form'
我收到“无法绑定到 'formGroup',因为它不是 'form' 的已知 属性”错误(它('should create',() => {} ) 在我的应用程序中使用 formGroup 测试每个组件。该应用程序工作正常。
我在每个模块中都导入了 FormsModule 和 ReactiveFormsModule。
<form [formGroup]="uploadDocumentFormGroup">
export class UploadFormComponent implements OnInit {
public uploadDocumentFormGroup: FormGroup;
constructor(
private formBuilder: FormBuilder,
private modalMessageService: ModalMessageService,
) {
this.createForm();
}
private createForm(): void {
this.uploadDocumentFormGroup = this.formBuilder.group({
uploadDescription: FormFields.default()
});
}
上传-form.component.spec.ts
describe('UploadFormComponent', () => {
let component: UploadFormComponent;
let fixture: ComponentFixture<UploadFormComponent>;
// let formBuilder: FormBuilder
// let modalMessageService: ModalMessageService;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ UploadFormComponent ],
providers: [ ModalMessageService, FormBuilder ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(UploadFormComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
请帮忙。谢谢。
您似乎正在使用 ReactiveForms
,因此您必须将此模块添加到导入中。
import { ReactiveFormsModule } from '@angular/forms';
...
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ UploadFormComponent ],
providers: [ ModalMessageService, FormBuilder ],
// add this line
imports: [ ReactiveFormsModule ]
})
.compileComponents();
}));
我收到“无法绑定到 'formGroup',因为它不是 'form' 的已知 属性”错误(它('should create',() => {} ) 在我的应用程序中使用 formGroup 测试每个组件。该应用程序工作正常。
我在每个模块中都导入了 FormsModule 和 ReactiveFormsModule。
<form [formGroup]="uploadDocumentFormGroup">
export class UploadFormComponent implements OnInit {
public uploadDocumentFormGroup: FormGroup;
constructor(
private formBuilder: FormBuilder,
private modalMessageService: ModalMessageService,
) {
this.createForm();
}
private createForm(): void {
this.uploadDocumentFormGroup = this.formBuilder.group({
uploadDescription: FormFields.default()
});
}
上传-form.component.spec.ts
describe('UploadFormComponent', () => {
let component: UploadFormComponent;
let fixture: ComponentFixture<UploadFormComponent>;
// let formBuilder: FormBuilder
// let modalMessageService: ModalMessageService;
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ UploadFormComponent ],
providers: [ ModalMessageService, FormBuilder ]
})
.compileComponents();
}));
beforeEach(() => {
fixture = TestBed.createComponent(UploadFormComponent);
component = fixture.componentInstance;
fixture.detectChanges();
});
it('should create', () => {
expect(component).toBeTruthy();
});
});
请帮忙。谢谢。
您似乎正在使用 ReactiveForms
,因此您必须将此模块添加到导入中。
import { ReactiveFormsModule } from '@angular/forms';
...
beforeEach(async(() => {
TestBed.configureTestingModule({
declarations: [ UploadFormComponent ],
providers: [ ModalMessageService, FormBuilder ],
// add this line
imports: [ ReactiveFormsModule ]
})
.compileComponents();
}));