稳定度:3 -锁定;
用于nodejs内部测试。
1.assert(value[,message]),assert.ok(value[,message])
测试值是否为真。相当于assert.equal(!!value, true, message)
2.assert.deepEqual(actual, expected[, message])
深度比较。( == 比较 )
只能使用可枚举属性。不能测试对象原型,附加符号或者不可枚举属性。这可能会导致一些潜在的结果。
例如,这将不会扔出一个AssertionError,因为Error对象不可枚举
//WARNING: This does not throw an AssertionError!
assert.deepEqual(Error('a'), Error('b'));
3.assert.deepStrictEqual(action, expected[, message])
深度比较。( === 比较 )
4.assert.doseNotThrow(block[, error][, message])
声明一个blcok不抛出错误,详细内容参考assert.throws()。
如果block扔出一个错误或者如果这是一个来自error的不同类型,那么抛出的错误将会获得一个propagated back。
接下来的回调会抛出一个typeError,因为不符合assert错误类型
assert.doesNotThrow(
function() {
throw new TypeError("Wrong value");
},
SyntaxError
);
如果错误和block里面的错误一毛一样,那就扔出assert错误
5.assert.throws(block[, error][, message])
声明一个block来抛出错误。错误可以是构造函数,正则或者是认证函数
构造函数
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'
)
6.assert.equal(actual, expected[, message])
测试shallow,相当于==
7.assert.fail(actual, expected, message, operator)
扔出一个AssertionError。如果message为假,他会展示一个吧提供值与期待值通过提供的operator隔开的值。不然的话就是展现message
8.assert.ifError(value)
扔出一个值如果这个值为真。测试回调函数的参数时很有用
9.assert.notDeepEqual(actual, expected[, message])
测试任何没有深度相等的,可以参考assert.deepEqual
10.assert.notDeepStrictEqual(actual, expected[, message])
测试没有深度相等的,可以参考assert.deepStrictEqual
11.assert.notEqual(actual, expected[, message])
浅层不等
12.assert.notStrictEqual(actual, expected[, message])
相当于!==
13.assert.strictEqual(actual, expected[, message])
深度比较两个参数是否相等。