对于茉莉花测试用例,我如何模拟事件停止在角度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
请指导。
答案 0 :(得分:1)
您已经在事件对象上创建了间谍。但在component.onItemRightClick方法中传递不同的对象。 使用以下行来解决问题。
component.onItemRightClick(event,params.ci);