这个模块是用于编写应用的单元测试,你可以通过require('assert')
获取模块。
assert.fail(actual, expected, message, operator)
抛出一个异常显示被提供的operator分离的实际值和预期值。
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
。
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.ifError(value)
测试值是否不为 false,当为 true 时抛出。常用于回调中第一个 error 参数的检查。