angular 4 unit test输入文本框(行为)click / focus

时间:2017-11-09 18:43:56

标签: angular unit-testing jasmine angular-test

我正在尝试对我的组件进行单元测试,在一次测试中,我想要关注/单击输入文本框。这是因为当我们点击输入文本时,它会打开一个模态,我想确保操作发生。

这可能在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();
   ...
});

很抱歉,我无法分享整个代码。

1 个答案:

答案 0 :(得分: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();
   ...
});