Angular自定义验证器ValidatorFn单元测试
2024-09-02
40
在项目中定义了自定义的验证器,代码如下:
export function myValidator(minNum): ValidatorFn {
return (control: AbstractControl) => {
let flag = true;
if (control.value < minNum && control.value > 0) {
flag = false;
}
return !flag ? { 'myValidator': { value: control.value } } : null;
};
}
表单formgroup使用了Mock,所以自定义验证器代码没有被覆盖。如何为自定义验证器ValidatorFn写单元测试呢?如何Mock自定义验证器ValidatorFn呢?我是这么做的。
首先import自定义验证器:
import { TestComponent, myValidator } from './test.component';
单元测试代码如下:
it('myValidator not return null', () => {
expect(myValidator(50)(<AbstractControl>{
value: 20
})).toEqual({ 'myValidator': { value: 20 } });
});
it('myValidator return null', () => {
expect(myValidator(50)(<AbstractControl>{
value: 0
})).toEqual(null);
});
大家根据自己实际情况操作吧。如有更好的方法,留言告诉我,谢谢了。
更新于:2个月前赞一波!
相关文章
- 强大的 .NET Mock 框架 单元测试模拟库Moq使用教程
- Angular UT 模拟执行setTimeout
- Angular Mock 一个类的静态方法
- 国外流行的前端框架有哪些?
- angular卡installing packages解决方法
- Angular scrollPositionRestoration回到顶部无效
- Angular echarts No provider for InjectionToken NGX_ECHARTS_CONFIG!错误
- Angular如何mock window对象
- @testing-library/react单元测试getBy queryBy和findBy的区别
- angular switchMap的用法
- react单元测试模拟点击浏览器返回按钮时触发popstate事件
- 如何使用 .NET C# 进行单元测试
- 前端有必要学Angular吗?
- .NET C#如何进行单元测试和集成测试?
- 前端框架React,Angular和Vue.js 优缺点对比
- Angular 17新特性
- Angular单元测试函数根据不同的参数returnValue不同的值
- Angular 17和Vue.js怎么选?
- C++单元测试框架gtest中在调试时在Visual Studio的输出窗口中打印
- Angular新官网angular.dev正式发布
文章评论
评论问答