node package manager

karma-mocha

A Karma plugin. Adapter for Mocha testing framework.

karma-mocha

Adapter for the Mocha testing framework.

The easiest way is to keep karma-mocha as a devDependency in your package.json.

{
  "devDependencies": {
    "karma-mocha": "~0.1"
  }
}

You can simple do it by:

npm install karma-mocha --save-dev

Instructions on how to install karma can be found here.

Following code shows the default configuration...

// karma.conf.js 
module.exports = function(config) {
  config.set({
    frameworks: ['mocha'],
 
    files: [
      '*.js'
    ]
  });
};

If you want to pass configuration options directly to mocha you can do this in the following way

// karma.conf.js 
module.exports = function(config) {
  config.set({
    frameworks: ['mocha'],
 
    files: [
      '*.js'
    ],
 
    client: {
      mocha: {
        // change Karma's debug.html to the mocha web reporter 
        reporter: 'html',
 
        // require specific files after Mocha is initialized 
        require: [require.resolve('bdd-lazy-var/bdd_lazy_var_global')],
 
        // custom ui, defined in required file above 
        ui: 'bdd-lazy-var/global',
      }
    }
  });
};

If you want run only some tests matching a given pattern you can do this in the following way

karma start &
karma run -- --grep=<pattern>

or

module.exports = function(config) {
  config.set({
    ...
    client: {
      mocha:{
        grep: '<pattern>',
        ...
      }
      ...
    }
  });
};

The grep argument is passed directly to mocha.

On the end of each test karma-mocha passes to karma result object with fields:

  • description Test title.
  • suite List of titles of test suites.
  • success True if test is succeed, false otherwise.
  • skipped True if test is skipped.
  • time Test duration.
  • log List of errors.
  • assertionErrors List of additional error info:
    • name Error name.
    • message Error message.
    • actual Actual data in assertion, serialized to string.
    • expected Expected data in assertion, serialized to string.
    • showDiff True if it is configured by assertion to show diff.

This object will be passed to test reporter.


For more information on Karma see the homepage.