问题标签 [react-hooks-testing-library]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 对自定义钩子进行单元测试以确保它调用另一个钩子
我们如何确保自定义钩子实际上调用了另一个钩子公开的方法?
比方说,我有一个useName
内部利用的自定义钩子useState
。
我需要断言调用setName
实际上调用了“setState”。我的测试用例编写如下:
我得到以下结果。
这可能吗,我这样做是否正确?
reactjs - 如何使用 useRef 获取多个映射元素?
在这里,我映射了一个包含要在页面上显示的图像的对象数组。在我尝试 useRef 的那一刻,它只抓住了我最后一个元素。我怎样才能拥有它,以便我的 useRef 多次抓住我?
如果我理解正确, use ref 只会抓取其中一个元素,所以我想最好的方法是动态地使不同的 useRefs 单独抓取?抱歉,刚学反应。
reactjs - 如何测试调度只被调用一次
我有一个自定义钩子,它在 URL 参数更改时调度一个动作:
我有一个模拟useDispatch
和的测试useParams
:
现在,这行得通,因为我可以确定它getUser('test')
已被调用,但包装它的useEffect
目的是确保它只被调用一次。我该如何测试呢?
jestjs - TypeError:无法读取 renderHook 导入中未定义的属性“hasOwnProperty”
我正在尝试使用测试库中的 renderHook。当我运行测试时,出现此错误,TypeError: Cannot read property 'hasOwnProperty' of undefined
包.json
我的单元测试文件是
我运行单元测试时的错误消息是 TypeError: Cannot read property 'hasOwnProperty' of undefined
react-native - 测试 React Native Image.getSize:无法监视原始值;给定的字符串
我有一个钩子可以检测 React Native Image 的方向:
并最初编写了一个测试以查看是否getSize
已调用:
我认为会起作用的基本测试(这是基于关于同一主题的这个问题/答案)。
但是在运行测试时出现此错误:
指的是const getSizeSpyOn = jest.spyOn(
该钩子将图像 uri 作为其参数,然后决定它应该是肖像还是风景图像,但我很困惑如何解决这个问题。有人知道我在做什么错吗?
reactjs - 对自定义钩子进行单元测试 - “无效的钩子调用。只能在函数组件的主体内部调用钩子”
背景:
我创建了一个自定义钩子,useModal()
用于包装一些用于在应用程序周围创建/销毁模式的状态:
该钩子在应用程序周围使用时工作得非常好,但是当尝试使用 Jest 在它周围添加一些单元测试时,它会在尝试从钩子访问任何返回的项目时抛出以下错误:
Invalid hook call. Hooks can only be called inside of the body of a function component
这是单元测试:
尝试的事情:
我对这个问题的所有阅读都表明这是功能组件安装方式的问题,因此,安装@testing-library/react-hooks
提供包装器的包来解决这个问题
https://react-hooks-testing-library.com/usage/basic-hooks
使用的软件包版本: