Skip to content

A Karma plugin. Adapter for Mocha testing framework.

License

Notifications You must be signed in to change notification settings

foxyblocks/karma-mocha

 
 

Repository files navigation

karma-mocha

js-standard-style npm version npm downloads

Build Status Dependency Status devDependency Status

Adapter for the Mocha testing framework.

Installation

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.

Configuration

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.

Internals

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.

About

A Karma plugin. Adapter for Mocha testing framework.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%