JSPM

mocha-circleci-reporter

0.0.3
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 6967
  • Score
    100M100P100Q143748F
  • License MIT

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

Package Exports

  • mocha-circleci-reporter

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (mocha-circleci-reporter) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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