angular 表单单元测试

angular form unit test

    public isValidStartDate() {
      return this.form.controls.dueDate.touched && this.form.controls.dueDate.errors &&
          !this.form.controls.dueDate.hasError('required')
    }
    public invalidDueDate() {
      return this.form.controls.dueDate.touched && this.form.controls.dueDate.hasError('required');
    }


  it('should check a valid data', () => {
    const dueDate = component.form.controls['dueDate'];
    expect(component.isValidStartDate()).toBeFalsy();
    expect(component.invalidDueDate()).toBeFalsy();

// Not working toBeTruthy
expect(component.isValidStartDate()).toBeTruthy();
    expect(component.invalidDueDate()).toBeTruthy();

  });

我需要帮助为 toBeTruthy 编写单元测试,任何人都可以提供帮助谢谢

我不知道怎么写toBeTruthy的测试用例

isValidStartDate 中的第一个条件是 this.form.controls.dueDate.touched,因此要模仿 touched 状态,您可以调用 dueDate.markAsTouched() (https://angular.io/api/forms/AbstractControl#markAsTouched)