{ "source": "doc/api/assert.markdown", "modules": [ { "textRaw": "Assert", "name": "assert", "stability": 5, "stabilityText": "Locked", "desc": "

This module is used for writing unit tests for your applications, you can\naccess it with require('assert').\n\n

\n", "methods": [ { "textRaw": "assert.fail(actual, expected, message, operator)", "type": "method", "name": "fail", "desc": "

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

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message" }, { "name": "operator" } ] } ] }, { "textRaw": "assert(value, message), assert.ok(value, [message])", "type": "method", "name": "ok", "desc": "

Tests if value is truthy, it is equivalent to assert.equal(true, !!value, message);\n\n

\n", "signatures": [ { "params": [ { "name": "value" }, { "name": "message)" }, { "name": "assert.ok(value" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.equal(actual, expected, [message])", "type": "method", "name": "equal", "desc": "

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

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.notEqual(actual, expected, [message])", "type": "method", "name": "notEqual", "desc": "

Tests shallow, coercive non-equality with the not equal comparison operator ( != ).\n\n

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.deepEqual(actual, expected, [message])", "type": "method", "name": "deepEqual", "desc": "

Tests for deep equality.\n\n

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.notDeepEqual(actual, expected, [message])", "type": "method", "name": "notDeepEqual", "desc": "

Tests for any deep inequality.\n\n

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.strictEqual(actual, expected, [message])", "type": "method", "name": "strictEqual", "desc": "

Tests strict equality, as determined by the strict equality operator ( === )\n\n

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.notStrictEqual(actual, expected, [message])", "type": "method", "name": "notStrictEqual", "desc": "

Tests strict non-equality, as determined by the strict not equal operator ( !== )\n\n

\n", "signatures": [ { "params": [ { "name": "actual" }, { "name": "expected" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.throws(block, [error], [message])", "type": "method", "name": "throws", "desc": "

Expects block to throw an error. error can be constructor, regexp or \nvalidation function.\n\n

\n

Validate instanceof using constructor:\n\n

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

Validate error message using RegExp:\n\n

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

Custom error validation:\n\n

\n
assert.throws(\n  function() {\n    throw new Error("Wrong value");\n  },\n  function(err) {\n    if ( (err instanceof Error) && /value/.test(err) ) {\n      return true;\n    }\n  },\n  "unexpected error"\n);
\n", "signatures": [ { "params": [ { "name": "block" }, { "name": "error", "optional": true }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.doesNotThrow(block, [message])", "type": "method", "name": "doesNotThrow", "desc": "

Expects block not to throw an error, see assert.throws for details.\n\n

\n", "signatures": [ { "params": [ { "name": "block" }, { "name": "message", "optional": true } ] } ] }, { "textRaw": "assert.ifError(value)", "type": "method", "name": "ifError", "desc": "

Tests if value is not a false value, throws if it is a true value. Useful when\ntesting the first argument, error in callbacks.\n

\n", "signatures": [ { "params": [ { "name": "value" } ] } ] } ], "type": "module", "displayName": "Assert" } ] }