我正在为Angular 5应用程序编写一些单元测试,并且在尝试手动触发TouchMove事件时遇到了问题。我能够使用
将其用于模拟鼠标事件document.dispatchEvent(new MouseEvent('mousemove', {
clientX: 100
}));
但如果我尝试写
document.dispatchEvent(new TouchEvent('touchmove', {
touches: [{
clientX: 100
}]
}));
我收到错误消息说" Property' clientY'缺少类型' {clientX:number; }'",如果我将clientY添加到我的对象,则会更改为Touch
类的其他属性。
我还尝试创建Touch
的实例,但clientX属性是只读的。在这里,Typescript' GitHub上有一个未解决的问题:
https://github.com/Microsoft/TypeScript/issues/15874
还有一个Document.createTouch()
功能,但在Mozilla的网站上已将其列为已弃用:
https://developer.mozilla.org/en-US/docs/Web/API/Document/createTouch
我是否有更好的方法从单元测试中触发触摸事件?