1
には影響しません、私はangular2テストを通じてDOM入力要素を設定しようとしている。:angular2テスト - 入力テキストの変更がngmodel
は、ここでHTMLコードです:ここで
<div>
<label for="Player X">Player X</label>
<input type="text" id="playerX" required [(ngModel)]="players[0].id" name="playerXid">
</div>
<div>
<label for="Player O">Player O</label>
<input type="text" id="playerO" required [(ngModel)]="players[1].id" name="playerOid">
</div>
ですplayers[0].id
とplayers[1].id
が空であるため、失敗したテストコードは、:
it('Test input <-> player bindings',() => {
fixture.detectChanges();
let playerX = fixture.debugElement.nativeElement.querySelector('#playerX');
playerX.value = 'First';
playerX.dispatchEvent(new Event('input'));
let playerO = fixture.debugElement.nativeElement.querySelector('#playerO');
playerO.value = 'Second';
playerO.dispatchEvent(new Event('input'));
fixture.detectChanges();
expect(comp.players[0].id).toBe('First');
expect(comp.players[1].id).toBe('Second');
});
私はここで何をしないのですか?私は、入力値が更新されますないことに気付きました
UPDATE
。 問題はcomp.players
ではありません。
は、dispatchEventをパラメータとして、イベントの種類を取得する必要...私に教えてください: は、dispatchEvent(EVT:イベント):ブール値 – ohadinho