mocha-circleci-reporter v0.0.3
mocha-circleci-reporter 
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-devUpdate 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; fior 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:

Example jUnit output:

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.