如何用玩笑代替Pointerevent? (未定义pointerevent)
我的React应用程序中的问题是
我在开关案例语句中测试不同事件构造函数。类似的事情:
switch (event.constructor) {
case String:
doSomething()
break;
case Array:
doSomething()
break;
case Date:
doSomething()
break;
case PointerEvent:
doSomething()
break;
default:
doSomething()
break;
如果我用笑话测试此设置,它总是会给我带来错误Reference> ReferenceError:PointerEvent未定义
。我可以通过将POINTEREVENT
设置为window.pointerevent
来解决此问题。但是我的玩笑环境中的事件具有类型mouseevent
。
问题
如何将PoInterevent设置为测试过程中鼠标量的别名?还是有一种方法可以在开玩笑中导入执行pointerevent?
系统
"@mui/material": "^5.6.3",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/user-event": "^13.2.1",
"react": "^18.0.0",
"react-dom": "^18.0.0",
Problem
In my react app I test for different event constructors in a switch case statement. Something like that:
switch (event.constructor) {
case String:
doSomething()
break;
case Array:
doSomething()
break;
case Date:
doSomething()
break;
case PointerEvent:
doSomething()
break;
default:
doSomething()
break;
If I test this setup with jest it always throws me the error ReferenceError: PointerEvent is not defined
. I can fix this problem by setting PointerEvent
to window.PointerEvent
. But the event in my jest environment has the type MouseEvent
.
Question
How can I set the PointerEvent as an alias for the MouseEvent during testing? Or is there even a way to import an execute a PointerEvent in jest?
System
"@mui/material": "^5.6.3",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/user-event": "^13.2.1",
"react": "^18.0.0",
"react-dom": "^18.0.0",
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您查看该
JSDOM
似乎无法实现POINTEREVENT
您可以解决此问题
If you look at this issue, you can see that
jsdom
appears to not implementPointerEvent
You can work around this this though