当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Node.js assert.notDeepEqual()用法及代码示例


断言模块提供了一组用于验证不变量的断言函数。 assert.notDeepEqual()函数测试实际参数与预期参数之间的严格严格不等式。如果条件为true,则不会产生输出,否则会引发断言错误。语法:

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

参数:该函数接受上述和以下描述的以下参数:

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

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

断言模块的安装:

  1. 您可以访问指向安装断言模块的链接。您可以使用此命令安装此软件包。
    npm install assert
  2. 注意:安装是可选步骤,因为它是内置的Node.js模块。
  3. 安装断言模块后,可以使用命令在命令提示符下检查断言版本。
    npm version assert
  4. 之后,您可以创建一个文件夹并添加一个文件,例如index.js,如下所示。

范例1: 文件名:index.js



javascript

// Requiring the module 
const assert = require('assert').strict; 
  
// Function call 
try { 
    assert.notDeepEqual({ a:'5' }, { a:'5' }); 
} catch(error) { 
    console.log("Error:", error) 
}

运行程序的步骤:

  1. 项目结构将如下所示:
  2. 使用以下命令运行index.js文件:
    node index.js
  3. 输出:

    Error:AssertionError [ERR_ASSERTION]:Expected “actual” not to be strictly deep-equal to:

    {
    a:‘5’
    }

    at Object. (C:\Users\Lenovo\Downloads\index.js:14:12)
    at Module._compile (internal/modules/cjs/loader.js:1138:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1158:10)
    at Module.load (internal/modules/cjs/loader.js:986:32)
    at Function.Module._load (internal/modules/cjs/loader.js:879:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
    at internal/main/run_main_module.js:17:47 {
    generatedMessage:true,
    code:‘ERR_ASSERTION’,
    actual:[Object],
    expected:[Object],
    operator:‘notDeepStrictEqual’
    }

范例2: 文件名:index.js

javascript

// Requiring the module 
const assert = require('assert').strict; 
     
// Function call 
try { 
    assert.notDeepEqual({ a:'5' }, { a:'11' }); 
    console.log("No Error Occured") 
} catch(error) { 
    console.log("Error:", error) 
}

运行程序的步骤:

  1. 项目结构将如下所示:
  2. 使用以下命令运行index.js文件:
    node index.js
  3. 输出:
    No Error Occured

    参考: https://nodejs.org/dist/latest-v12.x/docs/api/assert.html#assert_assert_notdeepequal_actual_expected_message




相关用法


注:本文由纯净天空筛选整理自gouravhammad大神的英文原创作品 Node.js assert.notDeepEqual() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。