assert 模塊提供了一組用於驗證不變量的斷言函數。 assert.throws() 用於當代碼根據特定情況拋出異常時,捕獲錯誤對象進行測試和比較。
用法:
assert.throws(fn[, error][, message])
Parameters:
該函數接受上麵提到的以下參數,如下所述:
- fn:此參數是一個不會引發錯誤的函數。
- error:此參數是正則表達式或函數。這是指定的錯誤。它是一個可選參數。
- message:此參數保存字符串或錯誤類型的錯誤消息。它是一個可選參數。
返回值:此函數返回對象類型的斷言錯誤。
安裝斷言模塊:
npm install assert
注意:安裝是一個可選步驟,因為它是一個內置的 Node.js 模塊。
2. 安裝assert模塊後,您可以在命令提示符下使用命令查看您的assert版本。
npm version assert
3. 之後,您可以創建一個文件夾並添加一個文件,例如 index.js,如下所示。
範例1:
index.js
// Requiring the module
const assert = require('assert');
var invalidNum = function(){
throw console.log("Invalid Number")
};
var someFunc = function(a){
if(a>10){
invalidNum();
}
else{
console.log("Valid number");
}
};
assert.throws(function(){
someFunc(5);
});
運行程序的步驟:
使用以下命令運行index.js文件:
node index.js
輸出:
Valid number assert.js:105 throw new AssertionError(obj); ^ AssertionError [ERR_ASSERTION]:Missing expected exception. at Object.<anonymous> (F:\Blogs\GFG\Assert.throw\index.js:18:8) at Module._compile (internal/modules/cjs/loader.js:1063:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10) at Module.load (internal/modules/cjs/loader.js:928:32) at Function.Module._load (internal/modules/cjs/loader.js:769:14) at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12) at internal/main/run_main_module.js:17:47 { generatedMessage:false, code:'ERR_ASSERTION', actual:undefined, expected:undefined, operator:'throws' }
範例2:
index.js
// Requiring the module
const assert = require('assert');
var invalidNum = function(){
throw console.log("Invalid Number")
};
var someFunc = function(a){
if(a>10){
invalidNum();
}
else{
console.log("Valid number");
}
};
assert.throws(function(){
someFunc(12);
});
運行程序的步驟:
使用以下命令運行index.js文件:
node index.js
輸出:
Invalid Number
參考: https://nodejs.org/api/assert.html#assert_assert_throws_fn_error_message
相關用法
注:本文由純淨天空篩選整理自harshalraikwar07大神的英文原創作品 Node.js assert.throws() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。