信息发布→ 登录 注册 退出

javascript怎样进行单元测试_常用框架有哪些

发布时间:2025-12-29

点击量:
JavaScript单元测试核心是写小而隔离的用例验证逻辑正确性;主流框架有Jest(React事实标准)、Vitest(Vite系快且TS友好)和Jasmine(老牌轻量);需掌握Mock、异步测试、覆盖率和环境隔离。

JavaScript 单元测试的核心是:写小、可隔离的测试用例,验证函数或模块在给定输入下是否返回预期输出。不需要运行整个应用,也不依赖 DOM 或网络,重点是逻辑正确性。

主流单元测试框架有哪些

目前最常用、生态最成熟的有三个:

  • Jest:Facebook 开源,开箱即用(内置断言、Mock、覆盖率、快照),配置简单,React 项目事实标准
  • Vitest:基于 Vite 构建,速度极快,API 与 Jest 高度兼容,适合 Vue、React、TS 项目,原生支持 ESM 和 TypeScript
  • Jasmine:老牌框架,语法简洁(describe/it/expect),不依赖其他工具,但需自行搭配 Karma 或其他运行器做浏览器测试

一个最简 Jest 测试示例

假设有工具函数 sum.js

export const sum = (a, b) => a + b;

对应测试文件 sum.test.js

import { sum } from './sum.js';
test('adds 1 + 2 to equal 3', () => {
  expect(sum(1, 2)).toBe(3);
});

执行 npx jest 即可运行并看到通过结果。

关键能力你得会用

  • Mock 函数:用 jest.fn() 替换依赖(如 API 调用),控制返回值并断言是否被调用
  • 测试异步逻辑:支持 async/awaitPromisesetTimeout,配合 jest.useFakeTimers() 控制时间
  • 覆盖率检查:Jest 默认生成覆盖率报告(语句、分支、函数、行),加 --coverage 参数即可启用
  • 测试环境隔离:每个测试用例默认独立运行,变量、Mock 不互相污染

怎么选框架

  • 新项目、尤其用 React/Vite/Vue —— 直接选 Vitest(启动快、TS 友好、配置少)
  • 已有大型 Jest 项目或团队熟悉 Jest —— 继续用 Jest,迁移成本低
  • 想轻量、纯前端、不打包 —— 可考虑 Jasmine + Karma,但维护成本略高
标签:# vue  # react  # javascript  # java  # js  # 前端  # vite  # typescript  # 浏览器  # facebook  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!