#npm 包 the-assert 使用教程
在前端开发中,经常需要进行测试和调试。在 Node.js 或浏览器环境下,可以使用 the-assert 这个 npm 包来进行简单的断言测试。
##1. 安装 the-assert 包
在安装之前,需要先建立一个新项目并在其根目录下创建 package.json 文件。
$ mkdir myproject $ cd myproject $ npm init -y
接下来,使用以下命令进行 the-assert 的安装。
$ npm install the-assert --save-dev
##2. 使用示例
以下是使用 the-assert 时的示例代码。使用 require
引入后,调用 assert 函数就可以进行断言测试。
const assert = require('the-assert'); assert( 1 + 1 === 2, '1 plus 1 equals 2' ); assert( 2*3 === 6, '2 times 3 equals 6' ); assert( 'hello' !== 'world', 'hello is not equal to world' );
##3. 可以使用的测试函数
除了上面的基本语句外,the-assert 还支持以下测试函数。
3.1 assert.ok( expression, message )
判断传入的表达式的布尔值是否为真,如果为假,则抛出 AssertionError 异常。可以提供一个自定义的 message 参数作为错误描述。
assert.ok(1, '1 is truthy'); assert.ok(true, 'true is truthy'); assert.ok({some: 'object'}, 'any object is truthy'); assert.ok(null === null, 'null is truthy JS equality'); assert.ok(undefined === undefined, 'undefined is truthy JS equality'); assert.ok(true !== false, 'true is not false'); assert.ok(!!false === !!0, 'double negation converts false and 0 to boolean true');
3.2 assert.equal( actual, expected, message )
比较两个值是否相等。如果不相等,则抛出 AssertionError 异常。同样可以提供自定义的 message 参数作为错误描述。
assert.equal(2 + 3, 5, '2 + 3 equals 5'); assert.equal('hello', 'hello', 'the same strings');
3.3 assert.deepEqual( actual, expected, message )
比较两个值是否深度相等。如果不相等,则抛出 AssertionError 异常。同样可以提供自定义的 message 参数作为错误描述。
assert.deepEqual({a: 1, b: 2}, {a: 1, b: 2}, 'eq. objects'); assert.deepEqual({b: 2, a: 1}, {a: 1, b: 2}, 'eq. objects ignoring property order'); assert.deepEqual([[1, 2], [3, 4]], [[1,2], [3,4]], 'nested arrays');
3.4 assert.notEqual( actual, expected, message )
比较两个值是否不相等。如果相等,则抛出 AssertionError 异常。同样可以提供自定义的 message 参数作为错误描述。
assert.notEqual(2 + 2, 5, '2 + 2 is not 5'); assert.notEqual('hello', 'world', 'different strings');
3.5 assert.throws( fn, [error], [message] )
判断 fn 函数的执行是否会抛出异常。如果抛出异常且该异常是我们预期的 error 类型,则测试通过;否则将抛出 AssertionError 异常。同样可以提供自定义的 message 参数作为错误描述。
assert.throws(() => { throw new TypeError('i am a TypeError') }, TypeError, 'this function throw a TypeError')
##4.总结
使用 npm 包 the-assert 进行测试可以大幅提高代码质量,并减少调试时的考虑量。本文对 the-assert 的基本使用及可使用测试函数做了介绍,希望能对广大前端开发者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5f7745267116197505561abe