angular - 角形单元测试
问题描述
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)
推荐阅读
- android - 'where' is not recognized as an internal or external command, operable program or batch file. Error: Unable to find git in your PATH
- java - Spring security oauth2 login url 404
- c# - Entity Framework Core: No parameterless constructor defined for this dbcontext
- python - Python 版本依赖类型注解
- javascript - Firebase 登录 - 检查电子邮件是否在使用中
- blockchain - 使用 truffle 为 Solidity Ethereum 测试智能合约时出错
- stata - 不包括 NA 编码变量的百分比变化 (Stata)
- reactjs - React Jest/Enzyme - 快照创建的文件太大(数千行)/从快照中删除属性
- java - XYChart 数据:按对象类型编译交易金额
- r - 将 ggplot 多面栅格地图与单个地图对齐(单独的图例)