Nodejs Assert

来源:互联网 发布:网络听课神器 编辑:程序博客网 时间:2024/04/28 05:38

稳定度: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])

深度比较两个参数是否相等。




0 0
原创粉丝点击