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: 这里应该相等
相关推荐
海盐泡泡龟1 分钟前
“组件、路由懒加载”,在 Vue3 和 React 中分别如何实现? (copy)
前端·javascript·react.js
coding随想10 分钟前
深入浅出WebGL:在浏览器中解锁3D世界的魔法钥匙
javascript
踢足球的,程序猿36 分钟前
从 Vue 2.0 进阶到 Vue 3.0 的核心技术解析指南
前端·javascript·vue.js·前端框架·html
冷凌爱38 分钟前
Fetch与Axios:区别、联系、优缺点及使用差异
前端·node.js·js
Sailing1 小时前
Grafana-mcp-analyzer:基于 MCP 的轻量 AI 分析监控图表的运维神器!
前端·node.js·mcp
阿山同学.1 小时前
AWS 亚马逊 S3存储桶直传 前端demo 复制即可使用
前端·javascript·aws
sunly_2 小时前
Flutter:导航固定背景图,滚动时导航颜色渐变
android·javascript·flutter
摸鱼仙人~2 小时前
深入理解Java单例模式:确保类只有一个实例
java·javascript·单例模式
Hilaku2 小时前
为什么我们用了 Vite 还是构建慢?——真正的优化在这几步
前端·javascript·vite
XI锐真的烦2 小时前
横向对比npm和yarn
前端·npm·node.js