A simple assertion wrapper library around lodash.
Maybe BDD style assertions are what the cool kids do, but some of us still prefer old style assert statements. Personally I find it easier to reason about my tests when the key lines actually begin with the word "assert".
The Node.js Assert module is a good start, but has limited expressiveness. Lodash offers a very expressive API that lends itself well to testing, so conditionally throwing an AssertionError based on the result of a lodash function feels like a natural fit.
npm install dash-assert --save-dev
Since this library simply extends Node's assert, use it right alongside assert.equal
, assert.throws
, assert.ok
, etc.
var assert = require('assert');
require('dash-assert');
it('returns an array', function() {
assert.isArray(someFunction());
});
Assert that that value is a number using isNumber
.
Assert that value is NaN using isNaN
.
Assert that value is an object using isObject
.
Assert that value is a astring using isString
.
Assert that value is an array using isArray
.
Assert that value is empty using isEmpty
.
Assert that the value is not empty using the inverse of isEmpty
.
Assert that the specified value in an Error
type using isError
.
Assert that the value is null using isNull
.
Assert that the value is null using the inverse of isNull
.
Assert that the specified value is undefined based on isUndefined
.
Assert that the specified value is not undefined based on the inverse of isUndefined
.
Assert that the predicate returns truthy for any element in the collection using some
.
Assert that the predicate returns truthy for all elements of the collection using every
.
Assert that all properties of the source are present on the object with equivalent values using isMatch
.
Shortcut for assert.strictEqual(value, true)
.
Shortcut for assert.strictEqual(value, false)
.
Assert that there is at least one value in common between the two arrays based on intersection
having a length greater than 0.
Assert that the two arrays do not intersect based on intersection
having a length equal to 0.
Assert that there are no differences between the two arrays based on difference
having a length of 0.
Assert that the value passes a RegExp test.
Assert that value is a string that does not throw an error when passed to JSON.parse
.
npm test