You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Testing Library测试元素不存在报错,求正确实现方法

解决测试“原始数字未显示”的问题

问题出在你用了getByText来断言元素不存在——getByText系列方法在找不到目标元素时会直接抛出错误,根本到不了后面的.not.toBeInTheDocument()断言环节。

正确的做法是用queryByText方法,它在找不到元素时会返回null,不会报错,正好适合用来断言元素不存在:

expect(screen.queryByText('3.51')).not.toBeInTheDocument();

如果担心文本被拆分到多个元素中(比如错误提示里提到的情况),还可以用正则表达式或者匹配函数来更灵活地检测:

  • 使用正则表达式:
expect(screen.queryByText(/3\.51/)).not.toBeInTheDocument();
  • 使用匹配函数:
expect(screen.queryByText(text => text === '3.51')).not.toBeInTheDocument();

内容的提问来源于stack exchange,提问作者Heikkisorsa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 04:01:40