📜  Node.js assert.doesNotMatch()函数

📅  最后修改于: 2022-05-13 01:56:33.774000             🧑  作者: Mango

Node.js assert.doesNotMatch()函数

assert 模块提供了一组用于验证不变量的断言函数。 assert.doesNotMatch()函数期望字符串输入与正则表达式不匹配。如果条件为真,则不会产生输出,否则会引发断言错误。

句法:

assert.doesNotMatch(string, regexp[, message])

参数:此函数接受三个参数,如上所述,如下所述:

  • 字符串:此参数保存需要评估的字符串。
  • regexp该参数保存匹配的正则表达式。
  • message该参数保存字符串或错误类型的错误消息。它是一个可选参数。

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

安装断言模块:

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

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

  2. 安装 assert 模块后,您可以使用命令在命令提示符下检查您的断言版本。
    npm version assert
  3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js,如下所示。

示例 1:文件名:index.js

// Requiring the module
const assert = require('assert').strict;
  
// Function call
try {
    assert.doesNotMatch('I will try to pass', /fail/);
    console.log("No Error Occured")
} catch(error) {
    console.log("Error:", error)
}

运行程序的步骤:

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

    输出:

    No Error Occured
    

示例 2:文件名:index.js

// Requiring the module
const assert = require('assert').strict;
  
// Function call
try {
    assert.doesNotMatch('I will try to pass', /pass/);
    //console.log("No Error Occured")
} catch(error) {
    console.log("Error:", error)
}

运行程序的步骤:

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

    输出:

    Error: AssertionError [ERR_ASSERTION]: The input was expected to not match the 
    regular expression /pass/. Input:
    
    'I will try to pass'
    
        at Object. (C:\Users\Lenovo\Downloads\index.js:6: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: 'I will try to pass',
      expected: /pass/,
      operator: 'doesNotMatch'
    }
    

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