node package manager


Drop-in replacement for assert to give colored diff on command-line with deepEqual.

This exists to give better diff on error when comparing objects or arrays with Mocha.

Should work on *nix shells.

Also has more asserts from


Greenkeeper badge

var assert = require('assert-diff')
it('diff deep equal with message', function() {
  assert.deepEqual({pow: "boom", same: true, foo: 2}, {same: true, bar: 2, pow: "bang"}, "this should fail")

Should give you:

Strict mode

By default everything works as with Node's deepEqual. Using strict mode is probably what you want. At least is for me. The following example will pass with Node's deepEqual but will fail using strict mode:

var assert = require('assert-diff')
assert.options.strict = true
it('strict diff deep equal', function() {
  assert.deepEqual({a: 1, b: 2}, {a: true, b: "2"}, "this should fail")

Should give you:

Release notes

1.2.1 Aug 15, 2017

  • Add npm lock file

1.2.0 Mar 11, 2017

  • Support Node 7
  • Diff shown when loggin error object
  • Supports diff in assert.deepStrictEqual

1.1.1 Mar 11, 2017

  • fix console log example to support Node 7

1.1.0 Aug 19, 2016

  • Upgrade assert-plus 0.1.5 -> 1.0.0

1.0.1 Feb 18, 2015

  • Default behaviour back to non strict to be drop-in replacement for Node assert

1.0.0 Feb 18, 2015

  • Support assert in constructor e.g. assert(true)

0.0.x before 2015

  • Initial implementation


Apache 2.0