2017-10-13 14 views
3

私が持っているそのテンプレートのように見えるPhoneNumbersFormComponent:私は私が得た角度-CLIのng g component xxxテストFormArray

最初のエラーで作成されたデフォルトのテストを通過したい

<div [formGroup]="form"> 
    <div formArrayName="numbers"> 
     <input formControlName="countryPrefix"> 
     <input formControlName="number"> 
    </div> 
</div> 

た:

「countryPrefix」という名前のコントロールが見つかりません

さて最後に残ったエラーがある

beforeEach(() => { 
    fixture = TestBed.createComponent(PhoneNumbersFormComponent); 
    component = fixture.componentInstance; 
    component.phoneNumbers = []; 
    component.form = new FormGroup({ 
     countryPrefix: new FormControl(), 
     number: new FormControl() 
    }); 
    fixture.detectChanges(); 
    }); 

が名「数字」

でコントロールを見つけることができず、私はformArrayName="numbers"

をテストする方法は考えている私は解決

答えて

2

このようなものを試す:

let array: FormGroup[] = []; 
array.push(new FormGroup({ 
     countryPrefix: new FormControl(), 
     number: new FormControl() 
})); 
let formArray = new FormArray(array); 
component.form = new FormGroup({ 
     numbers: formArray // or array not totally sure 
}) 
+0

素晴らしいです。 – gyc

+0

あなたの大歓迎 – Swoox

関連する問題