我安装了组件,模拟焦点在按钮上,然后检查 document.activeElement
的结果,仍然是<body>
。我在这里缺少什么?
const app = mount(<Component />);
app.find("button").simulate('focus');
const focusedElement = document.activeElement; // result: <body>
最佳答案
看看https://github.com/airbnb/enzyme/issues/2173#issuecomment-505551552
simulate
在很多意义上都不是模拟:
- 事件没有冒泡
- 它对
document.activeElement
没有任何作用 - 模拟
点击
不会触发mouseDown
、blur
或focus
你不能用 Jest/ enzyme 来测试这一点。 我想你可以用 Selenium 或类似的东西来测试它。
关于javascript - 模拟 enzyme 中的焦点不会改变 document.activeElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56873145/