node assert模块 Study.1

Posted on 2018-01-15 19:43  金-Fish  阅读(188)  评论(0编辑  收藏  举报

1.assert()

  大体理解意思:assert可以抽象理解为node中的alert++

  assert模块是Node的内置模块,用于断言的作用,如果不是自己想要的就抛出错误

  assert(arg1, arg2)该方法接受两个参数

  第一个参数如果为true, 不会提示,返回undefined;如果为false,抛出错误,错误信息就是第二个参数。

2.assert.equal()

  equal接受三个参数,第一个是实际值,第二个是预期值,第三个是错误的提示信息

  equal内部使用的是相等运算符(==),不是三等号===

3.assert.notEqual()

  和equal方法相同,接受三个参数,第一个参数等于第二个参数的时候,抛出错误提示,也就是第三个值

4.assert.deepEqual()

  deepEqual方法比较俩对象或者数组(深度比较想等)

  只要对象属性一一对应,且值想等,就认为这两个对象想等,否则抛出错误

  使用方法:assert.deepEqual(arg1, arg2, message)

  第一个参数和第二个参数为比较的对象或者数组,第三个为值不等的时候抛出的错误信息

5.assert.notDeepEqual()

  与assert.deepEqual()的使用方法相同,但是表达意思相反,是判断两个数组或者对象不相等,如果想等抛出第三个参数为提示信息

6.assert.strictEqual()

  使用严格相等运算符,比较两个表达式,同样传入三个参数,第一个和第二个传入的比较值相等,抛出第三个参数

7.assert.notStrictEqual()

  与上面严格相等相反,使用严格不相等运算符(!==)

8.assert.throws()

  throws方法预期某个代码块会抛出一个错误,且抛出的错误符合指定的条件

  assert.throws(block, error, message)

9.assert.doesNotThrow()

  与上面的方法相反,预期某个代码块不抛出错误

  两个参数

  assert.doesNotThrow(block, message)

10.assert.ifError()

  ifErrow方法断言某个表达式是否false,如果该表达式对应的布尔值等于true,就抛出错误。它对于验证回调函数的

第一个参数十份有用,如果改参数是true, 就表示有错误

11.assert.fail()

  fail方法用于抛出一个错误