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

create-react-app项目未导入@testing-library/jest-dom为何可使用toBeInTheDocument

为何未手动导入@testing-library/jest-dom也能使用toBeInTheDocument断言

核心原因是create-react-app(CRA)的默认测试配置已经完成了相关依赖的预装和全局注入,具体分为两点:

  • 你使用CRA初始化的项目,默认已经在package.json中预装了@testing-library/jest-dom依赖,无需你额外手动安装。
  • CRA默认的Jest测试配置会在所有测试用例执行前,自动加载项目根目录下src文件夹里的setupTests.js(如果是TypeScript项目则为setupTests.ts)文件,该文件的默认代码就包含import '@testing-library/jest-dom'语句,导入后会将jest-dom提供的所有自定义断言(包括toBeInTheDocument)全局挂载到Jest的expect实例上,所有测试文件都可以直接调用,不需要单独在每个测试文件内重复导入。

另外补充一个你代码里的小问题:你当前写的expect(helloWorld).toBeInTheDocument没有加执行括号,实际上没有触发断言逻辑,测试不会报错但也不会校验你要判断的逻辑,正确的写法是expect(helloWorld).toBeInTheDocument()。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 18:39:03