assert.doesNotThrow(block[, error][, message])
断言 block 函数不会抛出错误。查阅 assert.throws() 了解更多详情。
当调用 assert.doesNotThrow() 时,它会立即调用 block 函数。
如果抛出错误,并且与 error 参数指定的类型相同,那么将会抛出一个 AssertionError。如果是不同类型的错误,或 error 参数是 undefined,那么错误会回传给调用者。+
以下例子将会引发 TypeError,因为在断言中没有匹配的错误类型:
assert.doesNotThrow(
() => {
throw new TypeError('Wrong value');
},
SyntaxError
);
然而,以下将会导致一个带有 'Got unwanted exception (TypeError)..' 信息的 AssertionError。
assert.doesNotThrow(
() => {
throw new TypeError('Wrong value');
},
TypeError
);
如果抛出了一个 AssertionError,并且一个值被作为 message 参数,message 的值会被追加到 AssertionError 的消息中:
assert.doesNotThrow(
() => {
throw new TypeError('Wrong value');
},
TypeError,
'Whoops'
);
// Throws: AssertionError: Got unwanted exception (TypeError). Whoops