Angular 8 KeyboardEvent在单元测试中不起作用

问题描述

在这样的单元测试中添加了keyboardEvent,但是它不起作用。在这里,我希望应该从同级按钮中删除“键”事件禁用属性

指令:

constructor(private element: ElementRef) {}

@HostListener('document:keyup',['$event']) onKeyUp(e: any) {
  const hostElem = this.element.nativeElement;
  if (hostElem.classList.contains('done')) {
    const nextElemChildren = hostElem.nextElementSibling.children[0];
    nextElemChildren.disabled = false;
   }
 }
}

规格:

@Component({
   selector: 'stepnav-integration',template: `
    <nav class="nav done" stepNav>
     <button class="btn"></button>
    </nav>
    <nav class="nav" stepNav>
     <button class="btn" disabled="disabled"></button>
    </nav>
    <input type="text" />
  `
 })
  it('test keyup event',done => {
     const event = new KeyboardEvent('keyup',{
       key: 'Enter'
     });

     inputElement.nativeElement.dispatchEvent(event);
     fixture.detectChanges();

     expect(
       navElement.nativeElement.nextElementSibling.children[0].disabled
     ).toBeFalse();
     done();
  });

我不确定我在哪里犯了错误。所以我正在寻找帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)