mocha 与 chai 是 node.js 中轻量灵活的测试组合,通过 npm 安装、describe/it 编写测试、npm test 运行,支持监听重跑、es 模块和异步测试。

用 Mocha 做测试运行器,Chai 提供断言库,是 JavaScript(尤其是 Node.js 环境)中最轻量又灵活的测试组合之一。不需要复杂配置,几条命令就能跑起来。
安装依赖
在项目根目录下执行:
- npm init -y(如果还没初始化 package.json)
- npm install --save-dev mocha chai
安装完成后,package.json 的 devDependencies 里会出现 mocha 和 chai。
编写第一个测试文件
新建 test/math.test.js:
Java开发手册规约集合,基于阿里巴巴Java开发手册(嵩山版)。 涵盖7大维度:编程规约、异常日志、单元测试、安全规约、MySQL数据库、工程结构、设计规约。 当用户需要:(1) 编写或审查Java代码 (2) 检查命名/代码规范 (3) 处理异常和日志 (4) 编写单元测试 (5) 安全编码 (6) 数据库设...
const { expect } = require('chai');
describe('加法函数', () => {
it('1 + 1 应该等于 2', () => {
expect(1 + 1).to.equal(2);
});
it('字符串拼接应该正确', () => {
expect('hello' + ' world').to.equal('hello world');
});
});
说明:
describe 定义测试套件(一组相关测试),it 定义单个测试用例。Chai 的 expect 风格语义清晰,.to.equal() 是常用断言之一。
配置并运行测试
在 package.json 的 scripts 中添加:
"scripts": {
"test": "mocha test/**/*.test.js"
}
然后终端运行:
-
npm test —— 运行所有
.test.js文件 - npx mocha test/math.test.js —— 只跑某个文件
成功时会看到绿色的 ✓ 和通过数;失败时显示具体哪一行断言没通过、期望值和实际值差异。
可选增强(按需添加)
让开发体验更顺滑:
-
监听文件变化自动重跑:安装
npm install --save-dev nodemon,改 script 为"test:watch": "nodemon --exec mocha test/**/*.test.js" -
支持 ES 模块:若用
import,把文件后缀改为.mjs,并在package.json加"type": "module",同时用import { expect } from 'chai' -
异步测试:Mocha 原生支持 Promise 或
done回调,例如it('异步操作', async () => { const res = await fetchData(); expect(res).to.exist; });
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










