我目前正在使用Karma和Jasmine创建一个单元测试:
describe('ProfileListComponent', () => {
let component: ProfileListComponent;
beforeEach(async(() => {
TestBed.configureTestingModule({
imports: [
[RouterModule.forRoot([])],
FormsModule
],
declarations: [
ProfileListComponent,
ProfilesFiltersComponent,
DatatableComponent,
ProfileImagePopoverComponent,
NgbHighlight,
NgbRating,
PaginationFooterComponent
],
providers: []
}).compileComponents();
TestBed.configureTestingModule({
declarations: [ ProfileListComponent ]
})
.createComponent(ProfileListComponent);
}));
it('should be 4', async(() => {
expect(component.add(2,2)).toEqual(4);
}))
});
配置文件列表组件有很多子项,这就是为什么我在declarations
上导入它们的原因。ProfilesFiltersComponent
使用角形式:
- 超文本标记语言:**
- 技术支助**
export class ProfilesFiltersComponent implements OnInit {
filterForm: FormGroup;
}
因此,测试要求我的表单组为:
无法绑定到"formGroup",因为它不是"form"的已知属性
因此,我在测试中将其添加到declarations
中:
declarations: [
...
FormGroup
]
但现在它抛出了一个新的错误:
失败:模块"DynamicTestModule"声明了意外值"FormGroup"。请添加@Pipe/@Directive/@Component注解。
我不知道该怎么解决;我做错了什么?
1条答案
按热度按时间muk1a3rh1#
从
declarations
中删除FormGroup
。尝试将导入更改为: