测试返回Angular中的FormGroup的函数时发生错误

问题描述

我的服务文件中具有以下功能。它返回一个FormGroup,我们需要在多个位置动态返回它,因此将其放入服务中。

createBaseForm() {
    return this.fb.group({
      title: ['',[Validators.required,Validators.maxLength(200)]],description: [
        '',[
          Validators.required,Validators.maxLength(2000),this.whitespaceValidator,],});
  }

我为此功能编写的测试如下。我只是调用函数并将其与预期结果匹配,但是失败

it('createBaseForm',() => {
    const service: CompareService = Testbed.get(CompareService);
    const baseform = new FormGroup({
      title: new FormControl([
        '',Validators.maxLength(200)],]),description: new FormControl([
        '',});
    expect(service.createBaseForm()).toEqual(baseform);
  });

我收到以下错误

 CompareService createBaseForm Failed
        Error: Expected $._onCollectionChange = Function to equal Function.
        Expected $.controls.title.validator = Function to equal null.
        Expected $.controls.title._onCollectionChange = Function to equal Function.
        Expected $.controls.title._pendingValue = '' to equal [ '',[ Function,Function ] ].
        Expected $.controls.title.value = '' to equal [ '',Function ] ].
        Expected $.controls.title.status = 'INVALID' to equal 'VALID'.
        Expected $.controls.title.errors = Object({ required: true }) to equal null.
        Expected $.controls.description.validator = Function to equal null.
        Expected $.controls.description._onCollectionChange = Function to equal Function.
        Expected $.controls.description._pendingValue = '' to equal [ '',Function,undefined ] ].
        Expected $.controls.description.value = '' to equal [ '',undefined ] ].
        Expected $.controls.description.status = 'INVALID' to equal 'VALID'.
        Expected $.controls.description.errors = Object({ required: true,whitespace: true }) to equal null.
        Expected $.status = 'INVALID' to equal 'VALID'.
        Expected $.value.title = '' to equal [ '',Function ] ].
        Expected $.value.description = '' to equal [ '',undefined ] ].

我不确定该如何进行。我应该测试每个表单字段以检查它是否有效吗?有人可以帮忙吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...