繁体   English   中英

如何在茉莉花测试用例中模拟事件停止在角度6中的传播

[英]How to mock event stop propagation in angular 6 for jasmine test case

我如何模拟茉莉花测试用例的事件停止传播(角度6)。

我正在尝试-

 it('should call the onItemRightClick method', () => {

    event = jasmine.createSpyObj('event', ['preventDefault', 'stopPropagation']);
    expect(event.stopPropagation).toHaveBeenCalled();
    component.onItemRightClick(params.event, params.ci);
    // expect(component.onItemRightClick).toHaveBeenCalled();

  });

组件代码-

  onItemRightClick(event: MouseEvent, ci: CiWithKPIS) {
    console.debug('Open context panel for CI', ci.name);
    event.stopPropagation();
    if (!this.isSelected(ci)) {
      this._selectedItems = [ci];
      this.onSelectedCisChanged.emit(this._selectedItems);
    }
}

但这是行不通的。 它给出错误TypeError: event.stopPropagation is not a function请指导。

您已经在事件对象上创建了间谍。 但在component.onItemRightClick方法中传递不同的对象。 使用以下行来解决问题。

component.onItemRightClick(event,params.ci);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM