mocha-circleci-reporter

0.0.3 • Public • Published

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.

https://github.com/mochajs/mocha/issues/1457

Package Sidebar

Install

npm i mocha-circleci-reporter

Weekly Downloads

5,852

Version

0.0.3

License

MIT

Unpacked Size

97.1 kB

Total Files

6

Last publish

Collaborators

  • sandcastle