node . js assert . deep strict equal()函数

原文:https://www . geeksforgeeks . org/node-js-assert-deep strict equal-function/

assert 模块提供了一组用于验证不变量的断言函数。assert . DeepStreagle()函数测试实际参数和预期参数之间的深度相等。如果条件为真,则不会产生输出,否则会引发断言错误。

语法:

assert.deepStrictEqual(actual, expected[, message])

参数:该功能接受如下参数,如上所述,如下所述:

  • 实际:此参数保存需要评估的实际值。它是任何类型的。
  • 预期:此参数保存与实际值匹配的预期值。它是任何类型的。
  • 消息:此参数保存字符串或错误类型的错误消息。这是一个可选参数。

返回值:该函数返回对象类型的断言错误。

安装 assert 模块:

  1. 您可以访问安装断言模块的链接。您可以使用此命令安装此软件包。

    js npm install assert

  2. 注意:安装是可选步骤,因为它内置了 Node.js 模块。

  3. 安装断言模块后,您可以使用命令在命令提示符下检查您的断言版本。

    js npm version assert

  4. After that, you can just create a folder and add a file for example, index.js as shown below.

    示例 1: 文件名:index.js

    java 描述语言

    ```js // Requiring the module const assert = require('assert').strict;

    // Function call try {     assert.deepStrictEqual({ a: '5' }, { a: '5' }); } catch(error) {     console.log("Error: ", error) } ```

    运行程序的步骤:

    1. 项目结构会是这样的:
    2. 使用以下命令运行 index.js 文件: T0】
    3. 输出:

      错误:AssertionError[ERR _ ASSIGNATE]:要求值严格深度相等: +实际值–要求值

      { +a:1 –a:【1】 } 在物体上(C:\用户\联想\下载\索引。js:14:12) 在模块. 在对象.模块. _ 扩展处编译(内部/模块/cjs/loader.js:1138:30) ..js(内部/模块/cjs/加载器。js:1158:10) at 模块。加载(内部/模块/cjs/加载器。js:986:32) at 功能。模块。 加载(内部/模块/cjs/加载器。js:879:14) at 功能。executeuserentrypointas RunMain 在内部/主/run _ run

    示例 2: 文件名:index.js

    java 描述语言

    ```js // Requiring the module const assert = require('assert').strict;

    // Function call try {     assert.deepStrictEqual({ a: '5' }, { a: '5' });     console.log("No Error Occured") } catch(error) {     console.log("Error: ", error) } ```

    运行程序的步骤:

    1. 项目结构会是这样的:
    2. 使用以下命令运行 index.js 文件: T0】
    3. 输出:

      js No Error Occured

    参考:https://nodejs . org/dist/latest-v 12 . x/docs/API/assert . html # assert _ assert _ deepstriequal _ actual _ expected _ message