加载中...

Assertion Testing


稳定度: 2 - 稳定

本模块被用来为你的应用编写单元测试,你可以通过require('assert')来使用它。

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

抛出一个打印实际值actual和期望值expected的异常,使用分隔符operator隔开。

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

测试value是否为真,它等同于assert.equal(true, !!value, message);

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

判等actualexpected是否相等,等同于使用==进行比较。

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

判断actualexpected是否相等,等同于使用!=进行比较。

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

深度判断相等,通过比较actualexpected所有原型(prototype)之外的属性是否相等(==)来判断二者是否相等。

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

深度判断不相等,与assert.deepEqual的结果相反。

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

判断actualexpected是否“全等(===)”。

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

判断actualexpected是否“不全等(!==)”。

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

深度判断全等,通过比较actualexpected所有原型(prototype)之外的属性是否全等(===)来判断二者是否相等。

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

深度判断不全等,与assert.deepStrictEqual结果相反。

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

期望block抛出一个errorerror可以是构造函数,正则表达式,或验证函数。

使用构造函数验证实例:

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是否为假,当value为真时会抛出异常。通常用来判断回调函数中第一个error参数。


还没有评论.