如何使用异步验证器测试表单?您能否提供代码示例。 我正在使用下面的测试
测试具有异步验证器的下面的电子邮件字段email: ['', Validators.compose([ Validators.composeAsync([ emailValidator.validateEmail.bind(this)])]
});
it('email field invalid because of domain', fakeAsync(() => {
const hostElement = fixture.nativeElement;
const emailInput: HTMLInputElement = hostElement.querySelector('#email');
emailInput.value = 'user@yahoo.com';
emailInput.dispatchEvent(new Event('input'));
fixture.detectChanges();
const email = component.email;
console.log('valid : ' + email.valid); //false
console.log('errors : ' + JSON.stringify(email.errors)); // null
});
异步验证程序返回observable,并在控制台中打印正确的值,表示错误,但即使电子邮件无效,电子邮件也没有错误。
我错过了什么? 谢谢