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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。