我正在测试一个组件,其中有一个在 div 上的点击输入。
<div (click)="handleClick(someArgs)"></div>
现在我想在测试中验证行为。我尝试在原生元素上使用
.click()
:const elem = fixture.debugElement.query(By.css('my-selector'));
elem.nativeElement.click();
// Check for desired changes
然而,这种方法只能在特定的浏览器中使用,因为.click()
似乎只对HTMLInputElements定义(相关StackOverflow)。在某些浏览器中,我会收到以下错误:'undefined' is not a function (evaluating elem.nativeElement.click()')
。
如何最好地调用非HTMLInputElement上的单击事件?