使用Angular2测试hammerjs事件

5

我正在构建一个测试套件,试图覆盖100%的代码。问题是,我在平移时有回调函数。有人知道如何在angular2上使用karma和jasmine正确测试hammerjs事件吗?

HTML

<div (pan)="panning($event)" id="square">

TypeScript

public swiper($event) {
  let e = $event;
  let top = e.center.x - (e.target.clientHeight/2);
  let left = e.center.y - (e.target.clientWidth/2);
  e.target.style.transform = 'translate3d('+ top +'px, '+ left +'px, 0px)';
}

感谢您的选择。
M
1个回答

7
你应该能够使用这个
it('should call panning on pan', (async() => {
    fixture.debugElement.query(By.css('#square')).triggerEventHandler("pan", myNiceEvent)
    fixture.detectChanges()
    fixture.whenStable().then(testMyChanges)
}

我知道已经过去了很长时间,但我自己也为Angular v5.2.0而苦苦挣扎。

希望这能帮助到某个人;)


谢谢。我已经找了几个小时,想要在Angular中模拟hammerjs手势事件的方法。这个方法解决了我的问题。 - Edward
这个能在Angular 6和最新版本的Hammerjs 2.0.8中工作吗?我正在尝试对于press和pressup事件做同样的事情,但是没有成功... - Jorge Avila
DebugElement的API似乎自那时起并没有发生变化,因此我认为它应该可以工作。 然而,我无法访问上述工作示例(公司软件)的源代码,因此我无法真正进行测试。 当您手动触发事件时,您的代码是否有效? - Moi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接