Mocha is a JavaScript test framework for Node.js programs, featuring browser support, asynchronous testing, test coverage reports, and use of any assertion library. Assertion Libraries Mocha can be used with most JavaScript assertion libraries, including: should.js express.js chai better-assert unexpected Usage and examples $ npm install -g mocha $ mkdir test $ $EDITOR test/test.js # or open with your favorite editor var assert = require("assert") describe('Foo', function(){ describe('#getBar(value)', function(){ it('should return 100 when value is negative') // placeholder it('should return 0 when value is positive', function(){ assert.equal(0, Foo.getBar(10)); }) }) }) $ mocha . 1 test complete (1ms) For asynchronous testing, invoke the callback, and Mocha will wait for completion. describe('Foo', function(){ describe('#bar()', function(){ it('should work without error', function(done){ var foo = new Foo(128); foo.bar(done); }) }) }) See also Jasmine List of unit testing frameworks npm QUnit Unit.js Jest JavaScript framework JavaScript library References External links JavaScript libraries JavaScript programming tools Software using the MIT license 2011 software