reactjs - 如何使用酶在 ReactJS 中为窗口 keydown 事件添加单元测试
解决方案
为了更好地控制测试,我建议将 mousedown 事件逻辑作为道具函数传递。
然后,在您的规范中安装组件后,您可以测试为 -
test('should toggle focus', () => {
const map = {};
window.addEventListener = jest.genMockFn().mockImpl((event, cb) => {
map[event] = cb;
});
const component = mount(<SomeComponent />);
map.keyDown({ keyCode: 27 });
expect(props.unfocus).to.have.been.called;
});
有用的链接——
推荐阅读
- javascript - 显示最后值和收盘值的 Highcharts 问题
- javascript - Vuejs大文件上传崩溃浏览器
- firebase - 我的 Vue.js 应用程序中的 Firebase 集成问题
- asp.net-mvc - 如何使用来自 ajax 调用的单选按钮选择值更新视图模型?
- hazelcast - HazelCast IMap 为什么在更新地图值时需要 EntryProcessor,因为它是分布式地图(单实例场景)?
- konvajs - KonvaJS 在不损失质量的情况下缩小图像
- sql - Oracle SQL 中的四分位数
- c# - 不正确对齐的字段
- ruby-on-rails - ActiveRecord 按字符串数组排序
- c# - 仅在参考项目检查中使用的 C# 类?