2017-11-09 11 views
0

私は単体テストをしようとしていますが、1つのテストでフォーカスを合わせたい/入力テキストボックスをクリックします。これは、入力テキストをクリックするとモーダルが開き、動作が確実に行われるようにするためです。角度4単位テスト入力テキストボックス(動作)クリック/フォーカス

これはe2eテストでは可能かもしれませんが、要件のために単体テストで達成したいと考えていました。テストベッドモジュール構成が微細であると仮定

HTMLテンプレート

<input type="text" class="search"/> 

component.spec.ts

... 
it('focus the input element',() => { 
    let searchTextBox: DebugElement = this.fixture.debugElement.query(By.css('search')).nativeElement; 
    serachTextBox.click(); // is this possible or anything else 
    fixture.detectChanges(); 
    ... 
}); 

私は全体のコードを共有することができなかったことを申し訳ありません。

+0

はい、可能です。私はあなたが何らかのメソッドを呼ぶ入力ボックスをクリックすると、あなたのテストはそのメソッドをspyonし、呼び出されることを期待していると仮定します。別のテストを書いて、モーダルオープニングの実装をテストすることができます。私はクリックが適切な方法を呼び出すことだけを気にします。私の唯一の懸念は、入力ボックスをクリックしてモーダルを表示することです。 – Maccurt

+0

2番目の考えでは、モーダルを開くサービス – Maccurt

答えて

0
... 
it('focus the input element',() => { 
    let searchTextBox: DebugElement = this.fixture.debugElement.query(By.css('search')).nativeElement; 
    spyOn(someObject,'showModal') 
    serachTextBox.click(); // is this possible or anything else 
    expect(someObject.showModal).toHaveBeenCalled(); 
    ... 
}); 
関連する問題