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.