- Node.js 教程
- Node.js - 首页
- Node.js - 简介
- Node.js - 环境搭建
- Node.js - 第一个应用程序
- Node.js - REPL 终端
- Node.js - 命令行选项
- Node.js - 包管理器 (NPM)
- Node.js - 回调函数概念
- Node.js - 上传文件
- Node.js - 发送邮件
- Node.js - 事件
- Node.js - 事件循环
- Node.js - 事件发射器
- Node.js - 调试器
- Node.js - 全局对象
- Node.js - 控制台
- Node.js - 进程
- Node.js - 应用程序扩展
- Node.js - 打包
- Node.js - Express 框架
- Node.js - RESTful API
- Node.js - 缓冲区
- Node.js - 流
- Node.js - 文件系统
- Node.js MySQL
- Node.js - MySQL 入门
- Node.js - MySQL 创建数据库
- Node.js - MySQL 创建表
- Node.js - MySQL 插入数据
- Node.js - MySQL 查询数据
- Node.js - MySQL 条件查询
- Node.js - MySQL 排序
- Node.js - MySQL 删除数据
- Node.js - MySQL 更新数据
- Node.js - MySQL 连接查询
- Node.js MongoDB
- Node.js - MongoDB 入门
- Node.js - MongoDB 创建数据库
- Node.js - MongoDB 创建集合
- Node.js - MongoDB 插入数据
- Node.js - MongoDB 查找数据
- Node.js - MongoDB 查询
- Node.js - MongoDB 排序
- Node.js - MongoDB 删除数据
- Node.js - MongoDB 更新数据
- Node.js - MongoDB 数据限制
- Node.js - MongoDB 连接查询
- Node.js 模块
- Node.js - 模块
- Node.js - 内置模块
- Node.js - 实用程序模块
- Node.js - Web 模块
- Node.js 有用资源
- Node.js - 快速指南
- Node.js - 有用资源
- Node.js - 讨论
Node.js - assert.deepEqual() 函数
NodeJS assert.deepEqual() 函数将测试其两个参数actual和expected的深度相等性。当两个参数相同时,函数不会抛出AssertionError。如果两个参数不相等,则会向输出抛出AssertionError。此函数是assert.deepStrictEqual()函数的别名。
Node.js assert.deepEqual() 函数是 Node.js assert 模块的内置函数。
语法
以下是Node.js assert.deepEqual() 函数的语法:
assert.deepEqual(actual, expected[, message]);
参数
此函数接受三个参数。具体描述如下。
actual − (必填) 此参数中传递的值将被评估。值可以是任何类型。
expected − (必填) 此参数中传递的值将与actual值进行比较。值可以是任何类型。
message − (可选) 可以将字符串或 Error 类型作为输入传递到此参数。
返回值
如果actual和expected不匹配,此函数将在终端返回AssertionError。
示例
在下面的示例中,我们执行两个数字的加法和乘法并将结果存储起来。然后,我们将这两个结果作为actual和expected传递给 Node.js assert.deepEqual() 函数,并将文本传递给message参数。
const assert = require('assert'); var x = 10, y = 5, z = 6; var add = x + z; var mul = y * x; assert.deepEqual(add, mul, 'Both the values are not similar');
输出
当我们编译并运行代码时,由于actual和expected不匹配,该函数将连同message一起将AssertionError输出。
assert.js:79 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: Both the values are not similar at Object.<anonymous> (/home/cg/root/639c16a06de3d/main.js:7:8) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
示例
在下面的示例中,我们创建了两个具有某些属性的对象。然后,我们将这两个对象作为actual和expected传递给 Node.js assert.deepEqual() 函数,并将文本传递给message参数。
const assert = require('assert'); var obj1 = {'name': 'Jay', 'age': 21}; var obj2 = {'name': 'Vikram', 'age': 51}; assert.deepEqual(obj1, obj2, 'Both the objects are not identical');
输出
当我们编译并运行代码时,由于两个actual和expected并不完全相同,该函数将连同message一起将AssertionError输出。
assert.js:79 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]: Both the objects are not identical at Object.<anonymous> (/home/cg/root/639c16a06de3d/main.js:6:8) at Module._compile (internal/modules/cjs/loader.js:702:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:713:10) at Module.load (internal/modules/cjs/loader.js:612:32) at tryModuleLoad (internal/modules/cjs/loader.js:551:12) at Function.Module._load (internal/modules/cjs/loader.js:543:3) at Function.Module.runMain (internal/modules/cjs/loader.js:744:10) at startup (internal/bootstrap/node.js:238:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:572:3)
示例
在下面的示例中,我们创建了两个整数数组,并且这两个数组是相同的。然后,我们将这两个数组作为actual和expected传递给 Node.js assert.deepEqual() 函数,并将文本传递给message参数。
const assert = require('assert'); var array1 = [1, 2, 3, 4, 5]; var array2 = [1, 2, 3, 4, 5]; assert.deepEqual(array1, array2, 'Both the arrays identical');
输出
当我们编译并运行代码时,由于actual和expected完全相同,该函数不会向输出抛出任何AssertionError。相反,函数不会向输出返回任何内容。
// Returns nothing