【发布时间】:2020-06-01 19:57:54
【问题描述】:
这是我的自定义钩子:
export function useClientRect() {
const [scrollH, setScrollH] = useState(0);
const [clientH, setClientH] = useState(0);
const ref = useCallback(node => {
if (node !== null) {
setScrollH(node.scrollHeight);
setClientH(node.clientHeight);
}
}, []);
return [scrollH, clientH, ref];
}
}
我希望每次调用它时,它都会返回我的值。喜欢:
jest.mock('useClientRect', () => [300, 200, () => {}]);
我怎样才能做到这一点?
【问题讨论】:
-
到目前为止你尝试过什么?你看过 Jest 文档吗? jestjs.io/docs/en/manual-mocks#mocking-user-modules
-
@Timo 看起来......运气不好。我想我可能需要先监视 useClientRect 然后模拟返回。
-
如果你模拟
scrollHeight/clientHeight而不是模拟钩子呢? stackoverflow.com/a/56457850/2071697
标签: reactjs jestjs react-hooks react-testing-library