Article · Wikipedia archive · Last revised May 28, 2026

Mocha (JavaScript framework)

Mocha is a JavaScript test framework for Node.js programs, featuring browser support, asynchronous testing, test coverage reports, and use of any assertion library.

Last revised
May 28, 2026
Read time
≈ 1 min
Length
193 w
Citations
2
Source
Mocha
DeveloperOpenJS Foundation
Initial releaseNovember 22, 2011 (2011-11-22)
Stable release
11.7.61 Edit this on Wikidata / 18 May 2026 (18 May 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.2

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

See also

References

References

  1. "Release 11.7.6". 18 May 2026. Retrieved 18 May 2026.
  2. "Mocha - the fun, simple, flexible JavaScript test framework". mochajs.org.
External links