如何在没有 UI 的情况下对钩子进行 Jest 测试
Posted
技术标签:
【中文标题】如何在没有 UI 的情况下对钩子进行 Jest 测试【英文标题】:How to make Jest test for hook without UI 【发布时间】:2021-06-21 00:36:48 【问题描述】:我有下一个钩子
const useFetch =>
let state, dispatch = useContext(AppContext);
const fetch1 = async () =>
...code to fetch data (mocked)
const fetch2 = () =>
...
return
fetch1,
fetch2,
...
;
;
export default useFetch;
我需要创建 jest 测试,但我不能直接这样做,因为它违反了钩子规则,而且我无法渲染它,因为它没有要渲染的 UI,它只是获取数据以存储到上下文中。
谁能帮我理解怎么做?
在此先感谢,对不起我的英语。
【问题讨论】:
【参考方案1】:您可以创建一个仅用于测试目的的包装器组件并使用它。但是Testing Library 有一个很好的工具,hooks-testing-library。如果您有更多要测试的钩子,它可能是您项目的一个很好的补充。
【讨论】:
以上是关于如何在没有 UI 的情况下对钩子进行 Jest 测试的主要内容,如果未能解决你的问题,请参考以下文章