asserts
是一个 Node.js 的 assert
断言库的扩展,提供了更多的断言方法和错误信息输出。在前端开发中,我们也经常使用此包进行单元测试或者调试时的断言。
安装
你可以通过以下命令安装 asserts
:
npm install asserts --save-dev
常用断言方法
assert(value, message)
断言 value
是否为真,如果为假则抛出一个带有 message
错误信息的错误。
const assert = require('asserts'); assert(true, '这是一个错误信息'); // 无输出 assert(false, '这是一个错误信息'); // 抛出 AssertionError:这是一个错误信息
assert.equal(actual, expected, message)
断言 actual
是否等于 expected
,如果不相同则抛出一个带有 message
错误信息的错误。
const assert = require('asserts'); assert.equal(1, 1, '这是一个错误信息'); // 无输出 assert.equal(1, 2, '这是一个错误信息'); // 抛出 AssertionError:这是一个错误信息
assert.strictEqual(actual, expected, message)
断言 actual
是否严格等于 expected
,如果不相同则抛出一个带有 message
错误信息的错误。使用 ===
来比较 actual
和 expected
。
const assert = require('asserts'); assert.strictEqual('1', '1', '这是一个错误信息'); // 无输出 assert.strictEqual(1, '1', '这是一个错误信息'); // 抛出 AssertionError:这是一个错误信息
assert.deepEqual(actual, expected, message)
断言 actual
是否深度等于 expected
,如果不相同则抛出一个带有 message
错误信息的错误。使用深度比较来检查对象的属性是否相同。
const assert = require('asserts'); assert.deepEqual({ a: 1 }, { a: 1 }, '这是一个错误信息'); // 无输出 assert.deepEqual({ a: 1 }, { a: '1' }, '这是一个错误信息'); // 抛出 AssertionError:这是一个错误信息
自定义错误信息输出
你可以在断言方法的第三个参数中传入自定义的错误信息。
const assert = require('asserts'); const value = 2; assert(value === 1, `Error: ${value} 不等于 1`); // 抛出 AssertionError:Error: 2 不等于 1
总结
asserts
提供了多种有用的断言方法,可以帮助我们编写更加健壮和可靠的代码。当你需要进行单元测试或者调试时,可以考虑使用此包来进行断言。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/43146