assert.doesNotThrow()

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
posted @ 2018-11-05 12:07  sfornt  阅读(1582)  评论(0编辑  收藏  举报