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: 这里应该相等
相关推荐
用户117953654784 小时前
TRAE vs Claude Code 性能对比:从代码生成、多文件重构到底层吞吐,谁更适合你的日常开发?
javascript
kill5225 小时前
useRef
前端·javascript·react.js
米多科技5 小时前
我做了一个 3D 虚拟世界基底,在上面再搭 3D 世界或元宇宙,事半功倍
javascript·人工智能·github
幸运小圣6 小时前
Buffer 新手入门【Node.js】
node.js·编辑器·vim
霍营_托尼6 小时前
纯前端播 40GB 本地视频?我把浏览器改造成了「磁盘流式」播放器
前端·javascript·音视频开发
西柚小萌新6 小时前
【LLM&&AI应用开发 八股文】--4.2.Agent智能体(中)
前端·javascript·react.js
百度一下吧7 小时前
断网后 WebView 加载单页面应用:页面跳转 JS 加载失败的处理方案
开发语言·javascript·ecmascript
程序员Sunday8 小时前
Promise.all、allSettled、race、any 怎么选,失败后其他请求会怎样
开发语言·前端·javascript
szial8 小时前
JavaScript 的 call、apply 和 bind:如何控制函数调用
开发语言·前端·javascript
。小二9 小时前
Go 泛型并发利刃:async 库深度评测——370K ops/s、零依赖、生产就绪
开发语言·javascript·golang