合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
# 断言 (assert) ~~~ 稳定度: 5 - 已锁定 ~~~ 该模块用于编写程序的单元测试用例,通过require('assert')调用 ### assert.fail(actual, expected, message, operator) 抛出一个异常,显示用例的实际值(actual)和期望值(expected),通过分隔符(operator)隔开。 ### assert(value, message), assert.ok(value, [message]) 测试结果是否为真(true),相当于 `assert.equal(true, !!value, message);` ### assert.equal(actual, expected, [message]) 浅测试,等同于使用'=='进行相等判断 ### assert.notEqual(actual, expected, [message]) 浅测试,等同于使用'!='进行不相等判断 ### assert.deepEqual(actual, expected, [message]) 深度匹配测试 ### assert.notDeepEqual(actual, expected, [message]) 非深度匹配测试 ### assert.strictEqual(actual, expected, [message]) 严格相等匹配测试,等同用'==='判断匹配 ### assert.notStrictEqual(actual, expected, [message]) 不严格相等测试,等同于使用'!=='判断不匹配 ### assert.throws(block, [error], [message]) 声明一个block用于抛出错误,'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]) 声明模块不抛出错误,详见 assert.throws ### assert.ifError(value) 测试值是否不为 false,当为 true 时抛出。常用于回调中第一个 error 参数的检查。