Модульный тест собственной функции проверки в Angular

#javascript #angular

#javascript #angular

Вопрос:

Я новичок в тестировании и начинаю писать собственный метод проверки для моего приложения Angular. Но я не могу понять, как протестировать это с помощью Karma. Как правильно установить значение и протестировать его в соответствии с моим методом проверки?

Я получаю следующую ошибку: свойство ‘valid’ не существует для типа ‘void’. Пожалуйста, будьте терпеливы со мной, но я не понимаю, почему я получаю эту ошибку.

Форма

 this.carForm = this.fb.group({
    car: this.fb.array([
        this.fb.group({
            id: car.id,
            properties: this.fb.group({
                color: 'blue',
                vinNumber: ['', ValidationService.isValidVinNumber]
            })
        })
    ]),
    registrationDate: '2011-11-12',
    howManyOwners: car.previousOwners,
    })
});
this.carForm.valueChanges.subscribe(value => {
});
  

Метод проверки

 static isValidVinNumber(formControl: FormControl) {
    if (formControl amp;amp; formControl.value) {
        if (formControl.value.length !== 14) {
            return false;
        }
    } else {
        return null;
    }
}
  

Мой тестовый пример не работает

 beforeEach(() => {
    fixture = TestBed.createComponent(CarComponent);
    component = fixture.componentInstance;
}
........
it('should be possible to post empty vin number', () => {
    const iccNumber = component.carForm.get(['car', 0, 'properties', 'vinNumber']);
    expect(iccNumber.valid).toBeTruthy();
});
  

Комментарии:

1. ваш первый тест должен быть: it(‘should create’, () => { expect(component).toBeTruthy(); }); ……… проходит ли этот тест?

2. Привет, у меня это тоже есть: it(‘должно быть создано’, () => { expect(component).toBeTruthy(); });

3. И это проходит.