Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

karma-mocha-reporter

litixsoft870.3kMIT2.2.5TypeScript support: definitely-typed

Karma reporter with mocha style logging.

karma-plugin, karma-reporter, mocha, chai, diff, symbols

readme

karma-mocha-reporter

Karma reporter plugin with mocha style logging.

NPM version Build Status david-dm david-dm

How does it look like

screenshot

Installation

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

{
  "devDependencies": {
    "karma": "^1.0.0",
    "karma-mocha-reporter": "^2.0.0"
  }
}

You can simply do it by:

$ npm install karma-mocha-reporter --save-dev

Configuration

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha']
  });
};

Options

colors

Type: Object | Boolean

Lets you overwrite the default colors. Possible values are all colors and background colors from chalk.

Possible Values:

Value Description Default
success success messages green
info info messages grey
warning warn messages yellow
error error messages red
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      colors: {
        success: 'blue',
        info: 'bgGreen',
        warning: 'cyan',
        error: 'bgRed'
      },
      symbols: {
        success: '+',
        info: '#',
        warning: '!',
        error: 'x'
      }
    }
  });
};

To disable the colors please use the colors option in the karma config.

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // disable colors
    colors: false
  });
};

symbols

Type: Object

Lets you overwrite the default symbols.

Possible Values:

Value Description Default
success success messages
info info messages
warning warn messages
error error messages
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      symbols: {
        success: '+',
        info: '#',
        warning: '!',
        error: 'x'
      }
    }
  });
};

output

Type: String

Possible Values:

Value Description
full (default) all output is printed to the console
autowatch first run will have the full output and the next runs just output the summary and errors in mocha style
minimal only the summary and errors are printed to the console in mocha style
noFailures the failure details are not logged
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      output: 'autowatch'
    }
  });
};

showDiff

Type: String | Boolean

Shows a diff output. Is disabled by default. All credits to the contributors of mocha, since the diff logic is used from there and customized for this module.

screenshot

Currently only works with karma-mocha >= v0.2.2 Not supported for karma-jasmine since the additional properties needed to render the diff are not supported in jasmine yet.

Possible Values:

Value Description
true prints each diff in its own line, same as 'unified'
'unified' prints each diff in its own line
'inline' prints diffs inline
// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['mocha', 'chai'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      showDiff: true
    }
  });
};

divider

Type: String

Default: 80 equals signs ('=')

The string to output between multiple test runs. Set to false or empty string to disable

// karma.conf.js
module.exports = function(config) {
  config.set({
    frameworks: ['jasmine'],

    // reporters configuration
    reporters: ['mocha'],

    // reporter options
    mochaReporter: {
      divider: ''
    }
  });
};

ignoreSkipped

Type: Boolean

Possible Values:

  • false (default)
  • true

When setting the ignoreSkipped flag to true, the reporter will ignore the skipped tests in the output and you will see only the tests that where really executed. The summary will still contain the number of skipped tests.

maxLogLines

Type: Number

Lets you set the maximum number of lines which are printed for a failure. The default value is 999. Helps to cut long stack traces. Set the value to -1 to disable stack traces.

printFirstSuccess

Type: Boolean

Possible Values:

  • false (default)
  • true

Prints the result of an it block after it is run in one browser. This options is useful when you have tests which are conditionally run in one browser only. Otherwise the result of the it block would not be printed because it was not run in all browsers.

// testfile.spec.js
if (navigator.userAgent.match(/firefox/i)) {
  describe('Firefox tests', function() {
    it('this would only be reported when printFirstSuccess is true', function() {
      console.log('firefox test');
    });
  });
}

describe('Other tests', function() {
  it('this should be always reported', function() {
    console.log('hello world');
  });
});

Contributing

In lieu of a formal styleguide take care to maintain the existing coding style. Lint and test your code using grunt.

You can preview your changes by running:

$ npm run demo

Author

Litixsoft GmbH

License

Copyright (C) 2013-2017 Litixsoft GmbH info@litixsoft.de Licensed under the MIT license.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included i all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

changelog

2.2.5 (2017-10-17)

Bug Fixes

  • use latest version of log-symbols to fix problems on Windows 10 (4beec39), closes #101

2.2.4 (2017-08-24)

Features

  • use log-symbols package (b0aac74)

2.2.3 (2017-03-20)

Bug Fixes

  • allow to use reserved prototype names as name for describe or it blocks (81d6de6), closes #94

2.2.2 (2017-01-19)

Features

  • add option printFirstSuccess (9e2f342)

2.2.1 (2016-11-18)

Bug Fixes

2.2.0 (2016-09-19)

Features

  • add option "maxLogLines" to control the number of lines which are printed for the failures (0c484df), closes #75

2.1.0 (2016-07-31)

Features

  • Add options symbols to overwrite the default symbols (66e0454), closes #70

2.0.5 (2016-07-28)

Bug Fixes

  • allows disabling the divider by setting the divider option to '' or false (25cbe87), closes #68

2.0.4 (2016-06-10)

Bug Fixes

  • no result output when no browsers are defined in the config (53e7d65), closes #53

v2.0.3

  • Fix multiline string diffs

v2.0.2

  • Print a test suite with it's child items only after all child items are completed

v2.0.1

  • Print correct failure summary and colors when a test fails only in one browser

v2.0.0

  • Move module karma to peerDependencies

v1.3.0

  • Wait before printing output of a test after all browser have run the test

v1.2.3

  • Set property success to true when a test is skipped. Prevents wrong output in the failure summary

v1.2.2

  • Update error message when diff output is enabled and the required modules are missing

v1.2.1

  • Check if property assertionErrors has at least one item before calculating the diff output

v1.2.0

  • Add support for diff output for failed tests

v1.1.6

  • Fix error that reporter output was truncated when running multiple browsers
  • Reverts part of the fix from v1.1.4 (identical it blocks within the same describe block are only printed correctly when the test are run in one browser)

v1.1.5

  • Show error message when the karma runner ends with an error

v1.1.4

  • Print specs correctly when names of it blocks are identical within the same describe block

v1.1.3

  • Fix for divider is always "=" even the user set divider in config

v1.1.2

  • Show a divider line between multiple test runs for clarity

v1.1.1

  • Use overwritten colors also for the log symbols

v1.1.0

  • Add option colors to config that allows to overwrite the default colors

v1.0.4

  • Added plural or singular noun for 'test' based on count

v1.0.3

  • Changed some formatting to not start at newline

v1.0.2

  • enable colors when karma is piped

v1.0.1

  • print out all errors in the summary when spec fails

v1.0.0

  • add output option noFailures - when set, the failure details are not logged
  • time to get final with 1.0.0 :-)

v0.3.2

  • strip color from symbols when colors is set to false

v0.3.1

  • add option "ignoreSkipped" to ignore the skipped test in the output

v0.3.0

  • add option "output" to set the output level of the reporter

v0.2.8

  • add module log-symbols for printing symbols to the console

v0.2.7

  • report totalTime and netTime the same way "dots" and "progress" reporters do

v0.2.6

  • don't crash when the name of the describe or it block is a reserved object property (e.g. constructor, toString)

v0.2.5

  • results summary is now also printed when all tests fail

v0.2.4

  • better browser names formatting
  • fix calculating describe items' success
  • use karma's error formatter

v0.2.3

  • fix missing test results when singleRun = true

v0.2.2

  • fix that skipped test where reported as failure

v0.2.1

  • make reporter compatible with karma 0.11

v0.2.0

  • replace dependency color.js with chalk.js

v0.1.0

  • first release