Skip to content

sandcastle/mocha-circleci-reporter

Repository files navigation

mocha-circleci-reporter Build Status

A Mocha reporter specifically for Circle CI.

Getting Started

Install the reporter as a development dependency:

npm install mocha --save-dev
npm install mocha-circleci-reporter --save-dev

Update your package.json to use the reporter when running Mocha:

{
  "name": "my-package",
  "version": "0.0.1",
  "scripts": {
    "test": "node_modules/.bin/mocha --reporter mocha-circleci-reporter test/*.js"
  }
}

mocha-junit-reporter will output results to test-results.xml by default. CircleCI needs the results in the $CIRCLE_TEST_REPORTS directory.

Either update your circle.yml to copy over the `test-results.xml:

test:
  override:
    - npm run test
    - if [[ -e test-results.xml ]]; then cp test-results.xml $CIRCLE_TEST_REPORTS/test-results.xml; fi

or set the $MOCHA_FILE:

machine:
  environment:
      MOCHA_FILE: "$CIRCLE_TEST_REPORTS/test-results.xml"

Background

Why another reporter?

As of Mocha 2.x, its not possible to use multple reporters out of the box. This complicates things when dealing with CI systems like Circle CI that require a format such as jUnit XML as a lot of the goodness that is written to console when running the default reporter (Spec).

To overcome this, we combine the output of both the builtin Spec and mocha-junit-report reporters.

Example spec output:

spec_output.jpg

Example jUnit output:

spec_output.jpg

Mocha 3.x

There is work underway in Mocha 3.x to move to a plugin architecture that would make multiple reporters dead simple, until then I hope this simplifies things.

mochajs/mocha#1457

About

A mocha reporter that supports Circle CI, via a combined jUnit and Spec reporter output.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •