當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Node.js assert.ok()用法及代碼示例


斷言模塊提供了一組用於驗證不變量的斷言函數。 assert.ok()函數測試該值是否為true。如果條件為真,則不會產生輸出,否則會引發斷言錯誤。

用法:

assert.ok(value[, message])

參數:此函數接受上述和以下描述的兩個參數:

  • value:此參數保存需要評估的表達式。
  • 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.ok(false, "It's false"); 
} catch(error) { 
    console.log("Error:", error) 
}

運行程序的步驟:

  1. 項目結構將如下所示:
  2. 使用以下命令運行index.js文件:
    node index.js
  3. 輸出:

    Error: AssertionError [ERR_ASSERTION]:It’s false
       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:false,
     code:‘ERR_ASSERTION’,
     actual:false,
     expected:true,
     operator:‘==’
    }

範例2:文件名:index.js

javascript

// Requiring the module 
const assert = require('assert').strict; 
   
// Function call 
try { 
    assert.ok(typeof 12345 === 'number'); 
    console.log("No error Occured") 
} catch(error) { 
    console.log("Error:", error) 
} 
  
// Function call 
try { 
    assert.ok(typeof 12456 === 'string'); 
} catch(error) { 
    console.log("Error Occured:", error) 
}

運行程序的步驟:

  1. 項目結構將如下所示:
  2. 使用以下命令運行index.js文件:
    node index.js
  3. 輸出:

    No error Occured
    Error Occured:AssertionError [ERR_ASSERTION]:The expression evaluated to a falsy value:

     assert.ok(typeof 12456 === ‘string’)

       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:false,
     expected:true,
     operator:‘==’
    }

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




相關用法


注:本文由純淨天空篩選整理自gouravhammad大神的英文原創作品 Node.js assert.ok() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。