Assert

Assert

稳定性 5 锁定的
除非发现了非常严重得缺陷,否则这段代码将不再被更改。请不要建议更改这个部分,这些建议将被拒绝。

这个模块可以用于编写你的应用程序的单元测试,你可以通过require('assert')使用它。

 

assert.fail(actual, expected, message, operator)

抛出一个异常,显示actualexpected的值,并用提供的操作符分割。

 

assert(value[, message]), assert.ok(value[, message])

当value值为真时进行测试,等同于assert.equal(true, !!value, message)

 

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

浅层测试,强制使用相等比较操作符进行比较。

 

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

浅层测试, 强制使用不等比较操作符进行比较 ( != )。

 

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

深层相等测试。

 

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

深层不相等测试

 

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

严格相等测试,使用严格相等操作符( === )。

 

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

严格不相等测试,使用严格不等操作符( !== )。

 

assert.throws(block[, error][, message])

期望block抛出一个错误。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不是一个fase值时进行测试,且当其为true值时抛出错误。当测试第一个参数且error在回调中时很有用。

 

posted @ 2015-04-11 19:28  Ty_wefe  阅读(456)  评论(0编辑  收藏  举报