我有一个简单的反应钩子:
const useHook = () => {
useEffect(() => {
window.addEventListener('click', handleClick);
}, []);
const handleClick = () => {};
return null;
};
我能以某种方式测试是否在click
事件上调用了handleClick
函数吗?
当然,我可以在Jest中模拟click
事件。但是,如何检查此fn是否被调用?
发布于 2021-10-22 17:57:04
使用count包装器怎么样?
function countFn(fn) {
let wrapper = function() {
wrapper.called ++;
return fn.apply(this, arguments);
}
wrapper.called = 0;
return wrapper;
}
const handleClick = countFn((e) => {console.log(e)});
handleClick(1);
handleClick(2);
handleClick(3);
console.log(`handleClick called ${handleClick.called} times`);
1
2
3
handleClick called 3 times
https://stackoverflow.com/questions/69683722
复制相似问题