私はユニットテストに以下の機能を持っています。私はコンポーネント内のビューの子を持つテキストボックスである要素を取得し、テストでは、setTimeout()
が呼び出された後に、テキストボックスにフォーカスがあるかどうかをテストする必要があります。ここで アングル4のユニットテストで要素がフォーカスされているかどうかを確認するにはどうすればよいですか?
@ViewChild('searchInput') searchInput: ElementRef;
function A(show) {
const self = this;
if (show) {
this.xyz= true;
setTimeout(function() {
self.searchInput.nativeElement.focus();
}, 0);
} else {
self.xyz= false;
self.abc = '';
}
}
は私がしようとしている私のテストケースである:
it('textbox get focus toggleSearch', async(() => {
let el: DebugElement;
component.toggleSearch(true);
el = fixture.debugElement.query(By.css('#search-input-theme'));
let native: HTMLElement = el.nativeElement;
spyOn(native,'focus');
fixture.whenStable().then(() => {
expect(native.focus).toHaveBeenCalled();
});
}));
スペックファイルはどこですか? –
コードが更新されました@AmitChigadani – Pranjal