入力フィールドで使用できる文字を制限するために作成したユーティリティの単体テストを作成しようとしています。このメソッドはキーボードイベントを受け取り、発生したevent.codeを判別し、trueまたはevent.preventDefault()を返します。これは素晴らしいですが、私はジャスミン/カルマでテストすることはできません。 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);
}));
私は法に見張られており、それらがオフに解雇されている他のテストを持っています。私が疑問に思うのは、trueに設定しようとしても、isTrustedプロパティがfalseに設定されているということです。
HTMLとコンポーネントコードをポストに更新してください – Aravind