입력 필드에서 사용할 수있는 문자를 제한하기 위해 작성한 유틸리티에 대한 단위 테스트를 작성하려고합니다. 이 메서드는 키보드 이벤트를 사용하여 실행 된 event.code를 확인하고 true 또는 event.preventDefault()를 반환합니다. 이것은 잘 작동하지만 jasmine/karma에서 테스트 할 수는 없습니다. KeyboardEvent에 대한 각도 4 단위 테스트
<input [(ngModel)]="donationValue" formControlName="donationAmount"
type="tel" class="donation-amount" (keydown)="checkCharacter($event)"
placeholder="Enter Amount..."/>
템플릿
에서전류 입력은 여기에 내 현재 테스트입니다
it('should return have defaultPrevented as true', fakeAsync(() => {
const goalInput =
fixture.debugElement.query(By.css('input.donation-
amount')).nativeElement;
const keyEventData = { isTrusted: true, code: 'KeyA' };
const keyEvent = new KeyboardEvent('keydown', keyEventData);
goalInput.dispatchEvent(keyEvent);
tick();
fixture.detectChanges();
expect(keyEvent.defaultPrevented).toBe(true);
}));
나는 방법에 염탐하고 그들이 떨어져 해고되는 다른 시험이있다. 내 의혹은 isTrusted 속성이 true로 설정하려고해도 false로 설정된다는 것입니다.
HTML 및 구성 요소 코드를 게시물로 업데이트하십시오. – Aravind