因果如何获取按钮元素

时间:2019-10-31 14:53:50

标签: javascript html angular unit-testing karma-jasmine

我正在尝试通过查询获取按钮元素,但始终收到错误“无法读取null的属性'triggerEventHandler'”。我给按钮设置了ID,但仍然没有成功。当我调用组件的方法时,一切都可以工作。有什么想法吗?

it('should return true if the therapist status not registered (1 or 2)', () => {
    fixture.detectChanges();
    const onClickMock  = spyOn(component, 'test');
    fixture.debugElement.query(By.css('#toggleButton')).triggerEventHandler('click', null);
    expect(onClickMock).toHaveBeenCalled();
  });

HTML

<button id="toggleButton" (click)="test()"></button>

1 个答案:

答案 0 :(得分:0)

尝试:

const btn = fixture.debugElement.nativeElement.querySelector("#toggleButton");
btn.click();

应该可以解决问题。