Repolode
jestjs

jestjs/jest

Jest 是一款 JavaScript 测试框架,内置断言、模拟和快照测试,并提供交互式监听模式。

Star
45,469
Fork
6,714
未关闭 Issue
244
最近提交
7小时前

这是什么?

Jest 是一款 JavaScript 测试框架,目标是让大多数 JavaScript 项目在少量配置下即可开始测试。测试使用类似 expect 的断言风格编写,例如通过 toBe 等匹配器检查结果。

它的监听模式是交互式的,只会重新运行与改动文件相关的测试。快照测试可以捕获大型对象的输出,便于追踪其随时间的变化。

Jest 通过 Babel 进行代码转换,文档涵盖了与 webpack、Vite、Parcel 和 TypeScript 的配合方式。TypeScript 通过 Babel 支持,但只做转译不做类型检查,类型检查需要配合 tsc 或 ts-jest。

核心功能

  • 01大多数 JavaScript 项目无需复杂配置即可使用
  • 02交互式监听模式,只重跑与改动文件相关的测试
  • 03快照测试,用于捕获并比较大型对象的输出
  • 04内置 expect 风格的断言和匹配器
  • 05通过 Babel 转换现代 JavaScript 与 TypeScript 代码

适用场景

  • 为 JavaScript 或 TypeScript 函数和模块编写单元测试
  • 开发时借助监听模式快速获得测试反馈
  • 用快照追踪组件或接口输出的意外变化

快速上手

  1. 1

    使用 npm 将 Jest 安装为开发依赖

    npm install --save-dev jest
  2. 2

    在 package.json 中添加运行 jest 的 test 脚本

  3. 3

    使用 npm test 运行测试套件

    npm test

使用前须知

  • 与 Babel 一起使用时,Jest 不会对 TypeScript 测试进行类型检查,需要单独运行 tsc。
  • 对 Vite 的完整集成官方并不支持,依赖第三方插件且存在一定限制。

收录于专题

标签

常见问题

jest 是什么?
Jest 是一款 JavaScript 测试框架,内置断言、模拟和快照测试,并提供交互式监听模式。 Jest 是一款 JavaScript 测试框架,目标是让大多数 JavaScript 项目在少量配置下即可开始测试。测试使用类似 expect 的断言风格编写,例如通过 toBe 等匹配器检查结果。
jest 可以免费使用吗?用的什么许可证?
jest 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
jest 还在维护吗?
活跃维护中。jest 最近一次提交是在 2026年10月22日。
jest 适合用来做什么?
为 JavaScript 或 TypeScript 函数和模块编写单元测试 开发时借助监听模式快速获得测试反馈 用快照追踪组件或接口输出的意外变化
jest 怎么安装和运行?
使用 npm 将 Jest 安装为开发依赖: npm install --save-dev jest 在 package.json 中添加运行 jest 的 test 脚本 使用 npm test 运行测试套件: npm test
在哪里获取 jest?
源代码和安装说明在 GitHub 上:https://github.com/jestjs/jest

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目