首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对反应性表单的单元测试启用和禁用方法

对反应性表单的单元测试启用和禁用方法
EN

Stack Overflow用户
提问于 2022-01-24 06:52:48
回答 1查看 669关注 0票数 0

嗨,我正在用角写反应性形式的测试,我很难测试代码的这一部分。

代码语言:javascript
运行
复制
setForm(): void {
    const firstName = this.form.get('firstName');
    const lastName = this.form.get('lastName');

    lastName.disable();
    lastName.clearValidators();
    lastName.setValue('');

    firstName.enable();
    firstName.setValidators([Validators.required]);
}

这是FormService文件的一部分,我在其中设置了反应性表单控件、验证等。有方法测试吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-24 09:42:53

当您为公共API方法编写测试时,通常需要问自己:“在执行此方法之后,结果应该是什么?”在您的示例中,在执行setForm()之后,应该启用firstName控件并将其标记为必需的,并且应该禁用lastName控件,并且不需要任何值。你的测试应该是这样的:

代码语言:javascript
运行
复制
  it('should enable the firstName control and disable the lastName control when setForm() is called', () => {
    const firstName = component.form.get('firstName');
    const lastName = component.form.get('lastName');
    component.setForm();
    expect(firstName.enabled).toBe(true);
    expect(firstName.hasValidator(Validators.required)).toBe(true);
    expect(lastName.disabled).toBe(true);
    expect(lastName.value).toBeFalsy();
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70830001

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档