解释 Node.js 中 assert 模块的功能
Node.js 的 assert 模块主要用于编写断言测试,帮助开发者验证代码中的条件是否符合预期。它提供了多种断言方法,如基本断言、相等比较、严格相等比较、深度比较和验证抛出的错误等。
常用的方法包括 assert 用于验证真值,assert.equal 使用 == 比较值,assert.strictEqual 使用 === 进行严格比较,assert.deepEqual 用于深度比较对象和数组,assert.throws 用于验证函数是否抛出指定类型的错误。
assert 模块常用于单元测试和调试代码。
来源整理自:vue3js.cn 面试官系列
补充
补充:常用断言方法与示例。
const assert = require('node:assert/strict');
// 基本断言:值为真
assert.ok(1 + 1 === 2, 'math is broken');
// 严格相等(===) / 不等
assert.strictEqual('a', 'a');
assert.notStrictEqual(1, '1');
// 深度比较对象
assert.deepEqual({ a: 1 }, { a: 1 });
assert.deepStrictEqual([1, 2], [1, 2]); // 类型与原型链也一致
// 断言抛错
assert.throws(() => JSON.parse('invalid'), SyntaxError);
// 异步断言
await assert.rejects(async () => {
await fetch('http://no-such-host');
});
面试提醒:
node:assert/strict是推荐的严格模式,避免==带来的隐式类型转换。- 现代项目里通常直接用
node:test+assert,无需引入 Mocha/Jest 等第三方库就能跑单元测试。



