素材阁

Jest 测试速查

共 29 条 Jest 常用命令与语法,覆盖常用命令、配置、常用断言、Mock 与 Spy、异步测试 五组场景。支持搜索与分类筛选,点击即可复制。

常用命令

运行测试与覆盖率。

命令 / 语法说明
运行全部测试
监听改动并只跑相关测试
只运行指定文件
只运行名字匹配的测试
生成覆盖率报告
逐个测试用例显示结果
串行运行(排查并发 / 资源问题)

配置

jest.config.js 常用项。

命令 / 语法说明
指定测试文件匹配规则
指定转译器(支持 TS / JSX)
路径别名映射,和构建保持一致
每次测试前执行的初始化
使用 jsdom 环境测试 DOM 相关代码

常用断言

expect 的常用匹配器。

命令 / 语法说明
严格相等(===)
深度相等(比较结构与内容)
数组 / 字符串包含某元素
断言函数抛出异常
断言 mock 被以指定参数调用
判空与真值断言
浮点数近似比较

Mock 与 Spy

隔离依赖与观察调用。

命令 / 语法说明
创建 mock 函数
设置返回值(mockResolvedValue 返回 Promise)
自动 mock 整个模块
监视并可选替换对象方法
查看调用记录
伪造定时器,配合 jest.advanceTimersByTime 控制时间

异步测试

测试 Promise 与 async 代码。

命令 / 语法说明
断言 Promise 成功解析值
断言 Promise 被拒绝
回调式异步:必须调用 done 否则超时
测试的前置与清理钩子

使用说明

Jest 命令与语法速查:常用命令、配置、断言、Mock 与异步测试;支持搜索与分类筛选,点击即可复制。

  1. 按用途点分类:常用命令、配置、常用断言、Mock 与 Spy、异步测试。
  2. 点「命令 / 语法」列复制,替换文件路径与用例名后执行。
  3. 只跑相关用例用 --watch 或 -t;看覆盖情况用 --coverage。
  4. 异步断言记得 await expect(...).resolves / rejects。

常见问题

toBe 和 toEqual 有什么区别?
toBe 用 Object.is 严格比较(基本类型与引用),toEqual 做深度相等比较(对象、数组内容)。比较对象用 toEqual,比较值用 toBe。
测试用例超时 / 挂起怎么办?
回调式异步必须调用 done(),否则会一直等待到超时;用 async/await 时确保 await 了 Promise。必要时用 --runInBand 串行排查资源竞争。
怎么测试依赖网络的代码?
用 jest.mock 把网络模块替换成 mock,或在 setup 里统一拦截请求,保证测试不依赖真实网络、可稳定重复。
覆盖率越高越好吗?
覆盖率是参考而非目标。优先覆盖关键逻辑与边界分支,别为了数字写无意义的断言;结合 --coverage 看未覆盖的行来补测试。

延伸阅读

相关工具