angular 表单单元测试
angular form unit test
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)
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)