Assert
Assert
稳定性 5 锁定的
除非发现了非常严重得缺陷,否则这段代码将不再被更改。请不要建议更改这个部分,这些建议将被拒绝。
这个模块可以用于编写你的应用程序的单元测试,你可以通过require('assert')使用它。
assert.fail(actual, expected, message, operator)
抛出一个异常,显示actual
和expected
的值,并用提供的操作符分割。
assert(value[, message]), assert.ok(value[, message])
当value值为真时进行测试,等同于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])
期望block不要抛出错误,详情请看assert.throws。
assert.ifError(value)
当value不是一个fase值时进行测试,且当其为true值时抛出错误。当测试第一个参数且error在回调中时很有用。