nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()区别

1 equal()

      equal(actual,expected[,message])

相当于使用 == 运算符比较两个参数值actualexpected是否相等,如果相等不返回任何值,如果不相等则返回带有message属性的AssertionError,若message为undefined,则为默认的错误信息

==运算符只是数值相等,并不比较类型相等;

equal()方法不能比较数组,json等数据类型的数据,换句话说即不进行深度比较,数值和json数据的子对象不进行比较。

2 strictEqual()

      strictEqual(actual,expected[,message])

是equal()方法的严格版本,相当于===全等运算符,不仅补觉数据值也比较数据类型。同样不能比较数组、json等数据类型的数据。

3 deepEqual()

     deepEqual(actual,expected[,message])

deepEqual()方法能够比较数组和json等数据,也能比较一般数据,能够进行更为深层次的数据比较;

deepEqual()方法比较并不严格,相当于==等于符号,只比较数值,不比较类型

4 strictDeepEqual()

      strictDeepEqual(actual,expected[,message])

相当于=== 全等运算符,不同的是能够比较数组、json数据等深层的数据。

5 其它方法

assert模块中还有很多其他很有用的方法,下面举例几个,具体请看Nodejs API

assert.notEuqal(actual,expected[,message])

assert.notStrictEqual(actual,expected[message])

assert.ifError(value)

assert.fail(message)

原文来自:https://blog.csdn.net/younglao/article/details/76269687

猜你喜欢

转载自blog.csdn.net/qq_30068487/article/details/82755224
今日推荐