gpt4 book ai didi

angular - 如何为 Angular react 形式的自定义验证器编写单元测试用例?

转载 作者:太空狗 更新时间:2023-10-29 18:19:29 24 4
gpt4 key购买 nike

我有一个自定义模型驱动的表单验证器来验证最大文本长度

export function maxTextLength(length: string) {
return function (control: FormControl) {
const maxLenghtAllowed: number = +length;
let value: string = control.value;
if (value !== '' && value != null) {
value = value.trim();
}

if (value != null && value.length > maxLenghtAllowed) {
return { maxTextLength: true };
}else {
return null;
}
}
}

如何编写单元测试用例?

最佳答案

这是一个受 Subashan 的回答启发的示例,其中概述了基本过程:

import { maxTextLength } from '...';

describe('maxTextLength', () => {
const maxTextLengthValidator = maxTextLength(10);
const control = new FormControl('input');

it('should return null if input string length is less than max', () => {
control.setValue('12345');
expect(maxLengthValidator(control)).toBeNull();
});

it('should return correct object if input string length is more than max', () => {
control.setValue('12345678901');
expect(maxLengthValidator(control)).toEqual({ maxTextLength: true });
});
});

我还没有测试过它,但它与我写的东西很相似,它展示了基本方法。

我建议将验证器参数类型更改为 number:

export function maxTextLength(length: number) {

关于angular - 如何为 Angular react 形式的自定义验证器编写单元测试用例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47306294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com