Mocha (JavaScript framework)

Mocha
Developer(s)OpenJS Foundation
Initial release22 November 2011 (2011-11-22)
Stable release
10.0.0 / 1 May 2022; 2 years ago (2022-05-01)
Repositorygithub.com/mochajs/mocha
Written inJavaScript
PlatformNode.js
TypeTest automation framework
LicenseMIT
Websitemochajs.org

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

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

References

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