在 Node.js 中编写单元测试
来自:小麦
Node.js 从 v18.x 开始,内置了一个自带的测试运行器(Test Runner),你可以使用它来替代第三方测试框架如 Jest,进行单元测试。
使用 node:test 模块编写测试
Node.js 自带的测试运行器通过 node:test 模块提供。你可以直接在 .js 文件中编写测试代码。
示例:编写可测试模块
创建一个文件 math.js:
// math.js
export function add(a, b) {
return a + b;
}示例:编写测试文件
创建一个测试文件 math.test.js:
// math.test.js
import { test, expect } from 'node:test';
import { add } from './math';
test('adds 1 + 2 to equal 3', () => {
expect(add(1, 2)).toBe(3);
});
test('adds 5 + 7 to equal 12', () => {
expect(add(5, 7)).toBe(12);
});
test('async test example', async () => {
const result = await Promise.resolve(100);
expect(result).toBe(100);
});运行测试
在终端中运行以下命令执行测试:
node test.js你将看到类似如下输出:
✓ adds 1 + 2 to equal 3
✓ adds 5 + 7 to equal 12配置 npm 脚本(可选)
你也可以在 package.json 中添加一个脚本来简化测试运行:
{
"scripts": {
"test": "node test.js"
}
}然后运行:
npm run test总结
Node.js 自带的测试运行器(
node:test)是一个轻量级、无需额外安装的测试工具。它支持同步和异步测试,并提供断言(
expect)功能。对于初学者来说,它是替代 Jest 的一个简单选择,尤其适合学习和小型项目。
如果你需要更强大的功能(如 Mock、覆盖率报告等),可以考虑使用 Jest 或 Mocha。