Mocha (JavaScript framework)

Mocha
DeveloperOpenJS Foundation
ReleaseNovember 22, 2011 (2011-11-22)
Stable release
12.0.3 Edit this on Wikidata / 1 October 2026; 30 days ago (1 October 2026)
Written inJavaScript
PlatformNode.js
TypeTest automation framework
LicenseMIT
Websitemochajs.org
Repositorygithub.com/mochajs/mocha

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:

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

References

  1. ↑ "Release 12.0.3". 1 October 2026. Retrieved 1 October 2026.
  2. ↑ "Mocha - the fun, simple, flexible JavaScript test framework". mochajs.org.