1. mocha-clean
Cleans up mocha stack traces.
mocha-clean
Package: mocha-clean
Created by: rstacruz
Last modified: Mon, 20 Jun 2022 01:19:53 GMT
Version: 1.0.0
License: MIT
Downloads: 30,668
Repository: https://github.com/rstacruz/mocha-clean

Install

npm install mocha-clean
yarn add mocha-clean

mocha-clean

Cleans up mocha test stack traces.

Loading screenshot...

Status

Purpose

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.


Usage (Node.js)

npm version
Available via npm.

 $ npm i --save-dev mocha-clean

Add this to your test/mocha.opts:

 --require mocha-clean

Usage (browser)

Experimental browser support is available. Get the latest version here:

<script src="//cdn.rawgit.com/rstacruz/mocha-clean/v0.4.0/index.js"></script>

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>

Brief mode

To display brief format error messages similar to C++, Ruby and so on,
add this to test/mocha.opts:

 --require mocha-clean/brief

This displays the filenames first (file:n:n: function), which is reformatted from
the JavaScript-style 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>

Showing node_modules

By default, mocha-clean removes anything under node_modules.
To disable this behavior, add this to test/mocha.opts:

 --require mocha-clean/show_node_modules

Using with Gulp, Grunt, Karma, et al

See: Using with mocha loaders ▸


Showing absolute paths

By default, mocha-clean removes the current working directory from the beginning
of paths. To disable this behavior, add this to test/mocha.opts:

 --require mocha-clean/absolute_paths

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.


Thanks

mocha-clean © 2014+, Rico Sta. Cruz. Released under the MIT License.

Authored and maintained by Rico Sta. Cruz with help from contributors (list).

ricostacruz.com  · 
GitHub @rstacruz  · 
Twitter @rstacruz

RELATED POST

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Enhancing Vue.js Development: Harnessing the Potential of Vue-Loader

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Simplify Data Validation in Vue.js: A Step-by-Step Guide to Using Regex

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Troubleshooting Made Easy: Common Issues and Solutions with vue-loader Without vue-cli

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Optimizing Webpack 4 with Vue CLI 3: Disabling the Cache-Loader

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin

Step-by-Step Guide: How to Add a Function to Your Vuex Plugin