在Jasmine单元测试中设置ReactiveForm的值

时间:2017-11-03 13:57:12

标签: angularjs unit-testing jasmine

我正在尝试学习如何在Angular中对reactiveForm进行单元测试。

我想要做的是设置字段的值,然后在添加值后检查表单是否有效。

这是我必须去的地方:

来自茉莉花测试的

片段

it('Filled in form is valid', async(() => {
      const fixture = TestBed.createComponent(AppComponent);
      fixture.detectChanges();

      const component = fixture.componentInstance; 
      component.userForm.setValue({
        value:{
              firstName : ["Bob"]
              }
      })
 }));

形式:

<form [formGroup]="userForm" novalidate (ngSubmit)="onSubmit()" >
  <div class="form-group">
    <label class="center-block">first Name:
      <input class="form-control" formControlName="firstName">
    </label>
    <label class="center-block">first Name:
      <input class="form-control" formControlName="lastName">
    </label>
    <button type="submit" >Submit</button>
  </div>
</form>

我从Karma收到以下错误消息:

  

失败:必须为名称为'firstName'的表单控件提供一个值。

1 个答案:

答案 0 :(得分:1)

试试这个:

web:
  env_file:
    - web-variables.env

然后将表单输入设置为您想要的内容。