this.fb.group ({не является функцией в angular? - PullRequest
0 голосов
/ 23 января 2020

У меня есть следующий код,

** component.ts,

 constructor(public cdr:ChangeDetectorRef, public fb:FormBuilder) { 
   this.buildForm();
 }



buildForm(): void {
 this.feedbackForm = this.fb.group({
  suggestedAScore: ['', [Validators.pattern(/^[0-9]+$/),Validators.required, Validators.maxLength(5), Validators.minLength(5)]],
  minScore: ['', [Validators.pattern(/^[0-9]+$/),Validators.required,Validators.minLength(1),Validators.maxLength(1)]],
  maxScore: ['', [Validators.pattern(/^[0-9]+$/),Validators.required,Validators.minLength(1),Validators.maxLength(1)]]
});
 this.feedbackForm.setValidators(this.minMaxValidator());
this.isFeedbackFormValid();
};

** spe c .ts, (мелкий рендер)

 describe('FeedbackOptionsComponent', () => {
  let shallow: Shallow<FeedbackOptionsComponent>;

 beforeEach(() => {
   shallow = new Shallow(FeedbackOptionsComponent, AnnualCompensationModule)
   .provide(FormBuilder)
 });

  it('should create', () => {
    expect(FeedbackOptionsComponent).toBeTruthy();
 });

Когда я запускаю код, я получаю тест В этом случае я получаю следующую ошибку:

this.fb.group({ is not a function

Я новичок в модульных тестах. Может кто-нибудь предложить мне помочь решить эту проблему.

1 Ответ

0 голосов
/ 23 января 2020

Вы можете использовать neverMock для инициализации FormGroup модуля

import { FormsModule} from '@angular/forms';

 describe('FeedbackOptionsComponent', () => {

 Shallow.neverMock(FormsModule);

   beforeEach(() => {
   shallow = new Shallow(FeedbackOptionsComponent, AnnualCompensationModule);
 });

  });
 
...