Skip to content
Carsten Klein edited this page Nov 6, 2019 · 94 revisions

HOWTO's, Tutorials

Add-ons

Assertion Libraries

  • unexpected - extensible BDD assertion toolkit recommended
  • chai - expect(), assert() and should style assertions recommended
  • expect.js - expect() style assertions recommended
  • should.js - BDD style shown throughout these docs
  • expectations - Jasmine-style expect()
  • unit.js - simple, fluent assertions
  • inspect.js - modern BDD style assertion library

Mocks, Stubs, & Spies

  • sinon.js - Test spies, stubs and mocks for JavaScript.
  • simple-mock - Super simple mocks, stubs, and spies with 1-step sandbox restore.
  • nock - HTTP mocking and expectations library.

Plugins

Interfaces & Reporters

  • mocha-suit - OOP like mocha wrapper
  • mocha-clean - Cleaner stack traces
  • mocha-matrix - concise matrix reporter for the browser
  • mocha-cakes - BDD acceptance tests, Cucumber Given/When/Then stories add-on for Mocha.
  • mocha.parallel - Run async mocha specs in parallel.
  • lcov-reporter -- lcov reporter
  • text-cov -- Text summary in console of code coverage
  • JSCovReporter In browser Javascript coverage reporter using CoverJS instrumented code.
  • qunit-mocha-ui - A Mocha interface that more closely replicates the QUnit API, including QUnit's assertions.
  • mocha-qunit-ui - Mocha interface that is API-compatible with QUnit
  • mocha-ui-tsexports - Mocha interface that enables tests written using TypeScript classes
  • xunit-file - A Mocha reporter similar to xunit, but writes to a file (excludes all console.log output that breaks the xml).
  • WebConsole-reporter - A Mocha reporter that displays reports in browser console. Works faster than html reporter and provides clickable stack traces.
  • mocha-slow-reporter - Outputs a profile-like tree of the tests/hooks to help you fix test-suite slowness.
  • mocha-unfunk-reporter - An alternate to the default Spec-style reporter for improved usability and added compatibility features for use in various low-tech scenarios. Does not use console cursor tricks or positional ANSI codes.
  • mocha-fivemat-reporter - Reporter format inspired by fivemat. Better signal vs noise ratio for larger test suites.
  • mocha-teamcity-reporter - Teamcity reporter for Mocha.
  • loca - Reporter in your browser's console.
  • mocha-retry - Allows you to retry a test if it fails using the bdd ui. Useful on unstable tests, like those that drive a browser.
  • child-reporter - Reporter, that create a child process with stdout to console. Useful for testing modules that redirect stdout to /dev/null or logs
  • report-viewer - Cli for piping a unit test result directly into your browser. Combines the debug level of the console with the pretty output of a browser ui.
  • @testdeck/mocha - TypeScript OOP, decorators based, mocha test interface.
  • mochawesome - Produces a gorgeous standalone HTML/CSS report.

Headless testing

Test coverage

Frameworks

Mocha Examples

Express | Connect

SuperAgent | WebSocket.io | Mocha

js-testing-boilerplates