mirror of
https://github.com/nodejs/node-v0.x-archive.git
synced 2026-01-14 17:37:59 -05:00
The current wording "This module is used for writing unit tests for your applications, you can access it with require('assert')." implies that this module should only be used in development while unit testing.
The article "Error Handling in Node.js" by Joyent (https://www.joyent.com/developers/node/design/errors) uses the assert module in an efficient way to validate required function arguments.
Reviewed-By: James M Snell <jasnell@gmail.com>
PR-URL: https://github.com/joyent/node/pull/25786
85 lines
2.1 KiB
Markdown
85 lines
2.1 KiB
Markdown
# Assert
|
|
|
|
Stability: 5 - Locked
|
|
|
|
This module is used for testing actual values against expected values, 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 non-equality with the not equal comparison operator ( `!=` ).
|
|
|
|
## assert.deepEqual(actual, expected[, message])
|
|
|
|
Tests for deep equality.
|
|
|
|
## assert.notDeepEqual(actual, expected[, message])
|
|
|
|
Tests for any deep inequality.
|
|
|
|
## assert.strictEqual(actual, expected[, message])
|
|
|
|
Tests strict equality, as determined by the strict equality operator ( `===` )
|
|
|
|
## assert.notStrictEqual(actual, expected[, message])
|
|
|
|
Tests strict non-equality, as determined by the strict not equal operator ( `!==` )
|
|
|
|
## assert.throws(block[, error][, message])
|
|
|
|
Expects `block` to throw an error. `error` can be 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)
|
|
|
|
Tests if value is not a false value, throws if it is a true value. Useful when
|
|
testing the first argument, `error` in callbacks.
|