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

17次阅读

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

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

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

主流单元测试框架有哪些

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

  • Jestfacebook 开源,开箱即用(内置断言、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

立即学习Java免费学习笔记(深入)”;

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,但维护成本略高
text=ZqhQzanResources