node.js中的断言

assert.ok(value, message):如果value不为真,则抛出一个AssertionError,可选地包含message。

javascript 复制代码
const assert = require('assert');
assert.ok(true);  // 没有错误
assert.ok(false, '这里应该是true');  // 抛出 AssertionError: 这里应该是true

assert.equal(actual, expected, message):如果actual和expected不相等,则抛出AssertionError。

javascript 复制代码
const assert = require('assert');
assert.equal(1, 1);  // 没有错误
assert.equal(1, 2, '这里应该相等');  // 抛出 AssertionError: 这里应该相等

assert.strictEqual(actual, expected, message):类似于assert.equal(),但使用了严格的相等性(===)。

javascript 复制代码
const assert = require('assert');
assert.strictEqual(1, '1');  // 抛出 AssertionError: 1 === '1'

assert.deepEqual(actual, expected, message):如果actual和expected深度相等,则不会抛出错误。这个方法适用于对象比较。

javascript 复制代码
const assert = require('assert');
assert.deepEqual({ a: 1 }, { a: 1 });  // 没有错误
assert.deepEqual({ a: 1 }, { a: '1' }, '这里应该相等');  // 抛出 AssertionError: 这里应该相等
相关推荐
多加点辣也没关系5 分钟前
JavaScript|第12章:属性配置与 getter/setter
javascript
gis开发之家40 分钟前
《Vue3 从入门到大神29篇》单元测试与 E2E 测试 —— 保障 Vue3 项目的质量
前端·javascript·vue.js·单元测试·前端框架·vue3
ShiXZ2131 小时前
指令集-NPM 常用指令速查手册
前端·npm·node.js
柒和远方1 小时前
从等待到流式:LLM 流式输出的原理、协议与工程实践
javascript·llm
全栈项目管理程序猿2 小时前
Cesium-1.143 中文版 API
javascript·cesium
喜欢打篮球的普通人2 小时前
LLVM后端指令选择
android·java·javascript
Cobyte2 小时前
24.Vue Vapor 组件事件 emit 的实现
前端·javascript·vue.js
Flynt2 小时前
TypeScript 5.8 让我少踩了一个大坑,顺手再聊聊 --erasableSyntaxOnly
前端·javascript·typescript
默_笙2 小时前
👍 手写一个 MCP 文件读取服务:原来 AI 能"读"我的文件,全靠这个协议
前端·javascript
大流星3 小时前
LangChainJS之Chain链(四)
javascript·langchain