IO.js Assertion Testing
稳定度: 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
参数。
更多建议: