当前位置: 首页 > news >正文

React-Query使用react-testing-library进行测试

1.测试react-query首先我们必须得拥有queryClient,所以我们初始化queryClient,因为默认是重试三次,这意味着如果想测试错误的查询,测试可能会超时。所以可以在初始化时关闭

const createWrapper = () => {const queryClient = new QueryClient({defaultOptions: {queries: {retry: false,},},});return ({ children }) => <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>;
};

2.网上很多还要引入依赖@testing-library/react-hook,因为请求是异步的, 上面这个库提供了waitFor等待数据返沪,但是目前@testing-library/react也已经提供。使用方法如下

it('testing product detail query', async () => {const { result } = renderHook(() => useQueryProductDetail(''), {wrapper: createWrapper(),});await waitFor(() => expect(result.current.isSuccess).toBe(true));});

3.正常测试使用react-query的组件时,也需要创建queryClient,具体代码如下

it('test render search detail', async () => {const queryClient = new QueryClient();const { debug, findByText, findByRole } = await render(<QueryClientProvider client={queryClient}><SearchDetail /></QueryClientProvider>);//debug(await findByRole('qwe'));});

建议读读该文章,更详细的讲述了如何进行ReactQuery的测试https://tkdodo.eu/blog/testing-react-query

最后编辑于:2025-05-18 10:43:28


喜欢的朋友记得点赞、收藏、关注哦!!!

相关文章:

  • 【RabbitMQ】 RabbitMQ高级特性(二)
  • Python高级特性深度解析:从熟练到精通的跃迁之路
  • 【老马】离线版金融敏感信息加解密组件开源项目 encryption-local
  • 实战设计模式之状态模式
  • React 19中useContext不需要Provider了。
  • numpy数组的拆分和组合
  • Python 装饰器详解
  • 使用 C# 入门深度学习:线性代数详细讲解
  • 3:OpenCV—视频播放
  • MySQL--day2--基本的select语句
  • Ubuntu16.04升级gcc/g++版本方法
  • [特殊字符] SSL/TLS 中的密钥协商流程笔记
  • 【图像生成大模型】HunyuanVideo:大规模视频生成模型的系统性框架
  • Vue百日学习计划Day28-32天详细计划-Gemini版
  • 泰国SAP ERP实施如何应对挑战?工博科技赋能中企出海EEC战略
  • 机器学习-人与机器生数据的区分模型测试 - 模型选择与微调
  • 第三章:UI 系统架构拆解与动态界面管理实录
  • Android动态音频柱状图可视化解析:从原理到实现
  • 【爬虫】DrissionPage-7
  • 项目制作流程
  • 牛市早报|上市公司重大资产重组新规出炉,4月经济数据将公布
  • C919上海虹桥-深圳航线开通,东航今年计划再接收10架C919
  • 上海将建设万兆小区、园区及工厂,为模型训练数据的传输提供硬件支持
  • 《歌手》回归,人均技术流,00后整顿职场
  • 用贝多芬八首钢琴三重奏纪念风雨并肩20年
  • 蒋圣龙突遭伤病出战世预赛存疑,国足生死战后防线严重减员