所以,我有看起来像这样的 Angular 组件
<div class="hello" (keydown.enter)="doSomething()"></div>
我正在尝试为案例编写测试 - 当用户专注于 div 时,按 enter 应该调用 doSomething()。不幸的是,我不能用 Spectator 来模拟这种情况。我已经尝试过:
spectator.focus(spectator.query('.hello'));
expect(spectator.query('.hello')).toBeFocused(); // test failed
spectator.keyboard.pressEnter();
还
spectator.query('.hello').dispatchEvent(new Event('focus'));
并且都与
spectator.detectChanges(); // without success
我想,这个问题出在我的 HTML 模板中,但这些功能也不适用于:
<div class="hello" tabindex="0">
甚至与
<input class="hello" type="text">
请给予一些支持,如何专注于 div 元素,然后按 Enter 键。