【问题标题】:Testing hammerjs events with angular2使用angular2测试hammerjs事件
【发布时间】:2016-07-07 15:38:14
【问题描述】:

我正在构建一个测试套件并尝试覆盖 100% 的代码。事情是,我有平移回调函数。有谁如何正确测试 angular2 上的 karma 和 jasmine 的hammerjs 事件?

HTML

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

打字稿

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

【问题讨论】:

    标签: unit-testing angular hammer.js


    【解决方案1】:

    你应该可以使用this:

    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 苦苦挣扎。

    希望这会对某人有所帮助;)

    【讨论】:

    • 谢谢。我一直在寻找几个小时来找到以角度模拟hammerjs手势事件的方法。这成功了。
    • 这应该与 angular 6 和最新版本的hammerjs 2.0.8 一起使用吗?我正在为新闻和新闻活动做同样的事情,但没有成功......
    • DebugElement 的 API 从那时起似乎没有改变,所以我认为它应该可以工作。但是,我无法访问上述工作示例(公司软件)的源代码,因此我无法真正测试自己。当您手动触发事件时,您的代码是否有效?
    猜你喜欢
    • 1970-01-01
    • 2016-10-20
    • 2017-09-07
    • 1970-01-01
    • 1970-01-01
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多