dash-assert
v1.3.1
Published
Assertion wrapper around lodash
Downloads
100
Readme
dash-assert
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.
Installation
npm install dash-assert --save-dev
Usage
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());
});
API
assert.isNumber(value)
Assert that that value is a number using isNumber
.
assert.isNaN(value)
Assert that value is NaN using isNaN
.
assert.isObject(value)
Assert that value is an object using isObject
.
assert.isString(value)
Assert that value is a astring using isString
.
assert.isArray(value)
Assert that value is an array using isArray
.
assert.isEmpty(value)
Assert that value is empty using isEmpty
.
assert.isNotEmpty(value)
Assert that the value is not empty using the inverse of isEmpty
.
assert.isError(value)
Assert that the specified value in an Error
type using isError
.
assert.isNull(value)
Assert that the value is null using isNull
.
assert.isNotNull(value)
Assert that the value is null using the inverse of isNull
.
assert.isUndefined(value)
Assert that the specified value is undefined based on isUndefined
.
assert.isDefined(value)
Assert that the specified value is not undefined based on the inverse of isUndefined
.
assert.some(collection, predicate)
Assert that the predicate returns truthy for any element in the collection using some
.
assert.every(collection, predicate)
Assert that the predicate returns truthy for all elements of the collection using every
.
assert.isMatch(object, source)
Assert that all properties of the source are present on the object with equivalent values using isMatch
.
assert.isTrue(value)
Shortcut for assert.strictEqual(value, true)
.
assert.isFalse(value)
Shortcut for assert.strictEqual(value, false)
.
assert.hasIntersect(array, otherArray)
Assert that there is at least one value in common between the two arrays based on intersection
having a length greater than 0.
assert.noIntersect(array, otherArray)
Assert that the two arrays do not intersect based on intersection
having a length equal to 0.
assert.noDifferences(array, otherArray)
Assert that there are no differences between the two arrays based on difference
having a length of 0.
assert.matchesPattern(value, regex)
Assert that the value passes a RegExp test.
assert.isJSON(value)
Assert that value is a string that does not throw an error when passed to JSON.parse
.
Running Tests
npm test