Mocha (JavaScript framework)

From Wikipedia, the free encyclopedia
Initial release22 November 2011 (2011-11-22)
Stable release
10.0.0 / 1 May 2022; 12 months ago (2022-05-01)
Written inJavaScript
TypeTest automation 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.[1]

Assertion Libraries[edit]

Mocha can be used with most JavaScript assertion libraries, including:

  • should.js
  • express.js
  • chai
  • better-assert
  • unexpected

Usage and examples[edit]

$ 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);;

See also[edit]


  1. ^ "Mocha - the fun, simple, flexible JavaScript test framework".

External links[edit]