📅  最后修改于: 2023-12-03 15:17:53.906000             🧑  作者: Mango
在Node.js中,assert模块提供了一组用于基于断言进行单元测试的函数。其中一个函数是assert.doesNotThrow()函数,用于测试一个函数是否会抛出一个错误。
assert.doesNotThrow(block[, error][, message])
当测试通过时,该函数不返回任何值。当测试失败时,该函数将抛出一个AssertionError。
const assert = require('assert');
// 测试一个函数是否会抛出错误
function hello() {
throw new TypeError('Hello World!');
}
assert.doesNotThrow(hello, TypeError);
// 测试失败
function hi() {
throw new RangeError('Hi World!');
}
assert.doesNotThrow(hi, TypeError);
输出结果:
AssertionError [ERR_ASSERTION]: Got unwanted exception (RangeError: Hi World!)
assert.doesNotThrow()函数是一个通用的单元测试工具,用于确定函数是否会抛出一个错误。它需要函数和期望的错误类型作为参数,如果测试通过,则不会返回任何结果。否则,将抛出AssertionError。