0
0
mirror of https://github.com/nodejs/node.git synced 2024-12-01 16:10:02 +01:00
nodejs/doc/api/assert.markdown
Rich Trott 4fb4c14b61 doc: clarify description of assert.ifError()
This fixes a few typographical errors (comma splices and the like) and
clarifies the description of assert.ifError(). It also standardizes the
document on "inequality" rather than having both "inequality" and "non-
equality".

PR-URL: https://github.com/nodejs/node/pull/2941
Reviewed-By: Michaël Zasso <mic.besace@gmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
2015-09-18 23:46:36 -07:00

2.5 KiB

Assert

Stability: 2 - Stable

This module is used for writing unit tests for your applications. You can access it with require('assert').

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

Throws an exception that displays the values for actual and expected separated by the provided operator.

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

Tests if value is truthy. It is equivalent to assert.equal(true, !!value, message).

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

Tests shallow, coercive equality with the equal comparison operator ( == ).

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

Tests shallow, coercive inequality with the not equal comparison operator ( != ).

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

Tests for deep equality. Primitive values are compared with the equal comparison operator ( == ). Doesn't take object prototypes into account.

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

Tests for any deep inequality. Opposite of assert.deepEqual.

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

Tests strict equality as determined by the strict equality operator ( === ).

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

Tests strict inequality as determined by the strict not equal operator ( !== ).

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

Tests for deep equality. Primitive values are compared with the strict equality operator ( === ).

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

Tests for deep inequality. Opposite of assert.deepStrictEqual.

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

Expects block to throw an error. error can be a constructor, RegExp, or validation function.

Validate instanceof using constructor:

assert.throws(
  function() {
    throw new Error("Wrong value");
  },
  Error
);

Validate error message using RegExp:

assert.throws(
  function() {
    throw new Error("Wrong value");
  },
  /value/
);

Custom error validation:

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])

Expects block not to throw an error. See assert.throws() for details.

assert.ifError(value)

Throws value if value is truthy. This is useful when testing the error argument in callbacks.