Jest 测试框架速查表

Jest 是 Facebook 出品的 JavaScript 测试框架,零配置开箱即用。整理常用 API,快速编写测试。

编程语言·共 19 条命令·最后更新 2026-07-19
返回 编程语言

基础测试 5

test("adds 1+2 to equal 3", () => {\n expect(1 + 2).toBe(3)\n})
基本测试用例
expect(value).toBe(expected)
严格相等(Object.is)
expect(value).toEqual({ a: 1 })
深度相等
expect(value).toBeTruthy()
真值判断
expect(fn).toThrow("error")
异常捕获

Mock 函数 6

const mockFn = jest.fn()
创建 Mock 函数
mockFn.mockReturnValue(42)
设置返回值
mockFn.mockImplementation(() => 42)
设置实现
expect(mockFn).toHaveBeenCalled()
验证是否被调用
expect(mockFn).toHaveBeenCalledWith(arg)
验证调用参数
jest.mock("./module")
Mock 整个模块

异步测试 3

test("async", async () => {\n const data = await fetchData()\n expect(data).toBe("result")\n})
async/await 测试
test("promise", () => {\n return fetchData().then(data => expect(data).toBe("result"))\n})
Promise 测试
jest.useFakeTimers()
使用假定时器

生命周期与分组 5

beforeEach(() => { /* setup */ })
每个测试前执行
afterEach(() => { /* cleanup */ })
每个测试后执行
describe("group", () => { test(...) })
测试分组
test.skip("skipped", () => {})
跳过测试
test.only("focused", () => {})
只运行此测试

💡 提示

  • jest --coverage 生成覆盖率报告,--watch 开启监听模式。
  • jest.mock() 会自动 Mock 模块的所有导出,返回 jest.fn()。
  • toMatchSnapshot() 可以创建快照测试,适合 UI 组件测试。
  • jest.spyOn(obj, "method") 可以 spy 对象方法而不完全 Mock。