This simplifies the stability index to 4 levels: 0 - deprecated 1 - experimental / feature-flagged 2 - stable 3 - locked Domains has been downgraded to deprecated, assert has been downgraded to stable. Timers and Module remain locked. All other APIs are now stable. PR-URL: https://github.com/iojs/io.js/pull/943 Fixes: https://github.com/iojs/io.js/issues/930 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Vladimir Kurchatkin <vladimir.kurchatkin@gmail.com>
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 non-equality 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 non-equality, 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 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.