//此模块主要用于对您的程序进行单元测试,要使用它,请 require('assert')
//message为抛出的异常信息
assert.fail(actual, expected, message, operator);
//抛出异常,显示为被分隔符operator所分割的真实值actual和期望值expected
assert.equal(actual, expected, [message]);
//浅度测试真实值actual和期望值expected是否相等 ==
assert.notEqual(actual, expected, [message]);
//浅度测试真实值actual和期望值expected是否不相等 !=
assert(value, message), assert.ok(value, message);
//判断测试结果是否为真,等价于assert.equal(true, !!value, message);
assert.deepEqual(actual, expected, message);
//深度测试真实值actual和期望值expected是否相等
assert.notDeepEqual(actual, expected, message);
//深度测试真实值actual和期望值expected是否不相等
assert.strictEqual(actual, expected, message);
//严格相等匹配测试真实值actual和期望值expected是否相等 ===
assert.notStrictEqual(actual, expected, message);
//严格相等匹配测试真实值actual和期望值expected是否不相等 !==
assert.throws(block, error, message);
//预期block的时候抛出一个error, error可以是构造函数, 正则表达式, 其他验证函数
//1 用验证实例的构造函数
assert.throws(
function() {
throw new Error("错误值");
},
Error
);
//2 用正则表达式验证错误消息
assert.throws(
function() {
throw new Error("错误值");
},
/value/
);
//3 自定义错误校验
assert.throws(
function() {
throw new Error("Wrong value");
},
function(err) {
if ( (err instanceof Error) && /value/.test(err) ) {
return true;
}
},
"unexpected error"
);
assert.doesNotThrow(block, error, message);
//预期block的时候不抛出错误
assert.ifError(err);
//测试err是否为false, 当为true的时候抛出, 常用于回调中第一个参数的检查