Cleans up mocha test stack traces.
Mocha stack traces are riddled with frames that you don't want to see, like code from modules and Mocha internals.
1) Test: ReferenceError: someKey is not defined at Context.<anonymous> (/Users/rsc/Projects/mocha-clean/test/test.js:24:5) at callFn (/Users/rsc/Projects/mocha-clean/node_modules/mocha/lib/runnable.js:249:21) at Test.Runnable.run (/Users/rsc/Projects/mocha-clean/node_modules/mocha/lib/runnable.js:242:7) at Runner.runTest (/Users/rsc/Projects/mocha-clean/node_modules/mocha/lib/runner.js:373:10) ...
This is better:
1) Test: ReferenceError: someKey is not defined at myFunction (test/test:7:1) at test/test.js:24:5
It strips away mocha internals, node_modules, absolute paths (based on cwd), and other unneccessary cruft.
$ npm i --save-dev mocha-clean
Add this to your
Experimental browser support is available. Get the latest version here:
In the browser, use
mocha.traceIgnores to define files to be excluded. Your
setup will likely look like this (with chai.js in this example):
<script src="mocha.js"></script> <script src="chai.js"></script> <script src="mocha-clean.js"></script> <script>mocha.setup('bdd')</script> <script>mocha.traceIgnores = ['mocha.js', 'chai.js']</script> <script src="tests.js"></script> <script>mocha.run()</script>
To display brief format error messages similar to C++, Ruby and so on,
add this to
This displays the filenames first (
file:n:n: function), which is reformatted from
at function (file:n:n).
1) error: ReferenceError: xyz is not defined test/fail.js:12:4: myfunction test/fail.js:9:9: Context.<anonymous>
By default, mocha-clean removes anything under
To disable this behavior, add this to
Using with Gulp, Grunt, Karma, et al
Showing absolute paths
By default, mocha-clean removes the current working directory from the beginning
of paths. To disable this behavior, add this to
There was talk in 2012 to bring this feature to mocha itself (see mocha#545),
which eventually was merged around v2.2.5. It's been updated eversince to only
affect mocha's internals. In contrast, mocha-clean cleans up all your
node_modules's stack frames.
mocha-clean has been tested with mocha 1.21.x and will likely work for the entire mocha 1.x series.