📜  Node.js assert.doesNotThrow()函数(1)

📅  最后修改于: 2023-12-03 15:17:53.906000             🧑  作者: Mango

Node.js assert.doesNotThrow()函数

在Node.js中,assert模块提供了一组用于基于断言进行单元测试的函数。其中一个函数是assert.doesNotThrow()函数,用于测试一个函数是否会抛出一个错误。

语法

assert.doesNotThrow(block[, error][, message])

  • 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。