Angular тестирование с помощью Jest & Spectator
Я новичок в тестировании в Angular и пытаюсь написать свой первый тест, но получаю следующие ошибки. Я просто хочу убедиться, что компонент создан. К сожалению, это не работает.
КОМПОНЕНТ: компонент имеет 2 группы форм и родительскую группу форм.
export class ShopComponent implements OnInit {
booksForm: FormGroup;
title = new FormControl('', Validators.required);
author = new FormControl('', Validators.required);
clothingForm: FormGroup;
size = new FormControl('', Validators.required);
price = new FormControl('', Validators.required);
// parent form group
parentForm: FormGroup;
constructor(private fb: FormBuilder, private location: Location) {}
ngOnInit(): void {
this.initializeControls();
}
private initializeControls() {
this.booksForm = this.fb.group({
title: this.title,
author: this.author
});
this.clothingForm = new FormGroup({
size: this.size,
price: this.price
});
// parent form
this.parentForm = new FormGroup({
booksForm: this.booksForm,
clothingForm: this.clothingForm
});
}
}
ПРЕЦЕДЕНТ
describe('AanvraagGroeneZorginitiatiefComponent', () => {
let spectator: Spectator<ShopComponent>;
let component: ShopComponent;
const formBuilderStub = { group: object1 => ({}) };
const createComponent = createComponentFactory({
component: ShopComponent,
componentProviders: [
{provide: FormBuilder, useValue: formBuilderStub},
{provide: Location, useValue: {}},
{provide: FormGroup, useValue: {}},
],
imports: [IMPORTS ARE OMITTED FOR CLARITY]
});
beforeEach(inject([FormBuilder], (fb: FormBuilder) => {
const formStub = {group: object1 => ({}) };
spectator = createComponent();
component = spectator.component;
component.parentForm = fb.group({booksForm: formStub,
clothingForm: formStub});
spectator.detectChanges();
}));
it('should create', () => {
expect(component).toBeTruthy();
});
});
ЭТО ОШИБКА, КОТОРАЯ ПОЛУЧИЛА
● ShopComponent › should create
TypeError: control.setParent is not a function
● ShopComponent › should create
expect(received).toBeTruthy()
Received: undefined
93 |
94 | it('should create', () => {
> 95 | expect(component).toBeTruthy();
| ^
96 | });
97 |
Как я могу это исправить?