assert.doesNotThrow(fn[, error][, message])
历史
| 版本 | 变化 |
|---|---|
| v5.11.0、v4.4.5 |
|
| v4.2.0 |
|
| v0.1.21 | 添加于:v0.1.21 |
参数
fn<Function>error<RegExp> | <Function>message<string>
断言函数fn 不会引发错误。
使用assert.doesNotThrow() 实际上没有用,因为捕获错误然后重新抛出它没有任何好处。相反,请考虑在不应抛出的特定代码路径旁边添加注释,并尽可能保持错误消息的表现力。
当assert.doesNotThrow()被调用时,它会立即调用fn函数。
如果抛出错误并且它与 error 参数指定的类型相同,则抛出 。如果错误属于不同类型,或者 AssertionError error 参数未定义,则错误将传播回调用者。
如果指定,error 可以是 、 Class 或验证函数。有关详细信息,请参阅RegExp 。assert.throws()
例如,以下将抛出 ,因为断言中没有匹配的错误类型:TypeError
import assert from 'node:assert/strict'; assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, SyntaxError );const assert = require('node:assert/strict'); assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, SyntaxError );
但是,以下将导致 带有消息“得到不需要的异常...”:AssertionError
import assert from 'node:assert/strict'; assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, TypeError );const assert = require('node:assert/strict'); assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, TypeError );
如果抛出 并为 AssertionError message 参数提供了一个值,则 message 的值将附加到 消息中:AssertionError
import assert from 'node:assert/strict'; assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, /Wrong value/, 'Whoops' ); // Throws: AssertionError: Got unwanted exception: Whoopsconst assert = require('node:assert/strict'); assert.doesNotThrow( () => { throw new TypeError('Wrong value'); }, /Wrong value/, 'Whoops' ); // Throws: AssertionError: Got unwanted exception: Whoops
相关用法
- Node.js assert.doesNotThrow()用法及代码示例
- Node.js assert.doesNotReject(asyncFn[, error][, message])用法及代码示例
- Node.js assert.doesNotMatch()用法及代码示例
- Node.js assert.doesNotMatch(string, regexp[, message])用法及代码示例
- Node.js assert.deepStrictEqual()用法及代码示例
- Node.js assert.deepEqual(actual, expected[, message])用法及代码示例
- Node.js assert.deepStrictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.deepEqual()用法及代码示例
- Node.js assert.notEqual(actual, expected[, message])用法及代码示例
- Node.js assert.notDeepStrictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.fail(actual, expected[, message[, operator[, stackStartFn]]])用法及代码示例
- Node.js assert.throws(fn[, error][, message])用法及代码示例
- Node.js assert.equal()用法及代码示例
- Node.js assert.ifError()用法及代码示例
- Node.js assert.throws()用法及代码示例
- Node.js assert.ok()用法及代码示例
- Node.js assert.strictEqual()用法及代码示例
- Node.js assert.fail()用法及代码示例
- Node.js assert.strictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.notStrictEqual(actual, expected[, message])用法及代码示例
- Node.js assert.match()用法及代码示例
- Node.js assert.notDeepStrictEqual()用法及代码示例
- Node.js assert.rejects()用法及代码示例
- Node.js assert.rejects(asyncFn[, error][, message])用法及代码示例
- Node.js assert.match(string, regexp[, message])用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 assert.doesNotThrow(fn[, error][, message])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
