The next powerful test inspection framework for Node.js and the web


Build Status

Inspect.js is a modern test framework for Node.js and the web.
It comes with more then 120 test methods and helpers.
Inspect.js itself is fully tested with more than 1600 unit tests.

Try it, codetesting is a pure pleasure.

npm install inspect.js --save-dev


Inspect.js exports an inspect() method. This method can be used to test any kind of data.

inspect('Hello inspect.js').isString(); inspect('Hello inspect.js').isEql('Hello inspect.js');

Tests if the input is type of string and if string is equal to Hello inspect.js.


Lets say our test object is a class and we're using Mocha as Test Suite.

// lib/mycalss.js class TestClass { constructor(conf) { this.conf = conf || {}; this.logLevel = 'warn'; } getData() { return Promise.resolve({ foo: 'bar' }); } } module.exports = TestClass;

then a test could be...

// tests/myclass.spec.js let inspect = require('inspect.js'); let MyClass = require('../lib/myclass'); describe('MyClass', function() { it('first unit test') inspect(MyClass).isClass(); let myCalss = new MyClass(); inspect(myClass.conf).isObject(); inspect(myClass.logLevel).isString().isEql('warn'); inspect(myClass.getData).isFunction(); let res = myClass.getData(); inspect(res).isPromise(); });

Sinon.js support

Inspect.js supports the sinon.js framework and has its own test methods.
If you need sinon, just activate it.

let inspect = require('inspect.js'); let sinon = require('sinon'); inspect.useSinon(sinon); // check if a stub was called inspect(myStub).wasCalledOnce();

See our API documentation for a full list of all inspection methods.