Assertion Testing

最后更新于:2022-04-01 01:58:10

### 稳定度: 2 - 稳定 本模块被用来为你的应用编写单元测试,你可以通过`require('assert')`来使用它。 #### assert.fail(actual, expected, message, operator) 抛出一个打印实际值`actual`和期望值`expected`的异常,使用分隔符`operator`隔开。 #### assert(value[, message]), assert.ok(value[, message]) 测试`value`是否为真,它等同于`assert.equal(true, !!value, message);`。 #### assert.equal(actual, expected[, message]) 判等`actual`与`expected`是否相等,等同于使用`==`进行比较。 #### assert.notEqual(actual, expected[, message]) 判断`actual`与`expected`是否相等,等同于使用`!=`进行比较。 #### assert.deepEqual(actual, expected[, message]) 深度判断相等,通过比较`actual`与`expected`所有原型(prototype)之外的属性是否相等(`==`)来判断二者是否相等。 #### assert.notDeepEqual(actual, expected[, message]) 深度判断不相等,与`assert.deepEqual`的结果相反。 #### assert.strictEqual(actual, expected[, message]) 判断`actual`与`expected`是否“全等(`===`)”。 #### assert.notStrictEqual(actual, expected[, message]) 判断`actual`与`expected`是否“不全等(`!==`)”。 #### assert.deepStrictEqual(actual, expected[, message]) 深度判断全等,通过比较`actual`与`expected`所有原型(prototype)之外的属性是否全等(`===`)来判断二者是否相等。 #### assert.notDeepStrictEqual(actual, expected[, message]) 深度判断不全等,与`assert.deepStrictEqual`结果相反。 #### assert.throws(block[, error][, message]) 期望`block`抛出一个`error`。`error`可以是构造函数,正则表达式,或验证函数。 使用构造函数验证实例: ~~~ assert.throws( function() { throw new Error("Wrong value"); }, Error ); ~~~ 使用正则表达式验证错误信息: ~~~ assert.throws( function() { throw new Error("Wrong value"); }, /value/ ); ~~~ 自定义错误验证: ~~~ assert.throws( function() { throw new Error("Wrong value"); }, function(err) { if ( (err instanceof Error) && /value/.test(err) ) { return true; } }, "unexpected error" ); ~~~ #### assert.doesNotThrow(block[, message]) 期望`block`不抛出错误,详情见`assert.throws`。 #### assert.ifError(value) 测试`value`是否为假,当`value`为真时会抛出异常。通常用来判断回调函数中第一个`error`参数。
';