Mochawesome is a custom reporter for use with the Javascript testing framework, mocha. It generates a full fledged HTML/CSS report that helps visualize your test suites.
##New in 1.4.0
##Features
describes##Browser Support
Tested to work in Chrome. Should work in any modern web browser including IE9+.
Mochawesome generates a self-contained report that can be viewed offline.
##Sample Report
##Usage
npm install --save-dev mochawesome
mocha testfile.js --reporter mochawesome
var mocha = new Mocha({
reporter: 'mochawesome'
});
##Output
Mochawesome generates the following inside your project directory:
mochawesome-reports/
├── css
│ └── mochawesome.css
├── fonts
│ ├── Roboto+Condensed_300_normal.ttf
│ ├── Roboto+Condensed_300_normal.woff
│ ├── Roboto+Condensed_400_normal.svg
│ ├── Roboto+Condensed_400_normal.ttf
│ ├── Roboto+Condensed_400_normal.woff
│ ├── Roboto+Condensed_700_normal.ttf
│ ├── Roboto+Condensed_700_normal.woff
│ ├── Roboto+Slab_400_normal.svg
│ ├── Roboto+Slab_400_normal.ttf
│ ├── Roboto+Slab_400_normal.woff
│ ├── mochawesome.eot
│ ├── mochawesome.svg
│ ├── mochawesome.ttf
│ └── mochawesome.woff
├── js
│ ├── mochawesome.js
│ └── vendor.js
├── mochawesome.html
└── mochawesome.json
The two main files to be aware of are:
undefinedmochawesome.html - The rendered report file
undefinedmochawesome.json - The raw json output used to render the report
##Options
Mochawesome supports options via environment variables or passed in to mocha via --reporter-options.
reportDir: {String} - changes the name of the report directoryreportName: {String} - changes the name of the report filereportTitle: {Sring} - changes the title of the reportinlineAssets: {Boolean} - when true inlines all report assets into a self-contained report fileSetting a custom filename will change both the report html and json files.
undefinedOptions passed in will take precedence over environment variables.undefined
####Environment variables
$ export MOCHAWESOME_REPORTDIR=customReportDir
$ export MOCHAWESOME_REPORTNAME=customReportName
$ export MOCHAWESOME_REPORTTITLE=customReportTitle
$ export MOCHAWESOME_INLINEASSETS=true
####Mocha options
$ mocha test.js --reporter mochawesome --reporter-options reportDir=customReportDir,reportName=customReportName,reportTitle=customReportTitle,inlineAssets=true
var mocha = new Mocha({
reporter: 'mochawesome',
reporterOptions: {
reportDir: 'customReportDir',
reportName: 'customReportName',
reportTitle: 'customReportTitle',
inlineAssets: true
}
});
##Development
If you wish to make changes to the reporter you will need to clone the repo and build locally. Building requires you to have gulp installed.
###Installation
$ git clone https://github.dowjones.net/grubera/mochawesome
###Modifying
Reporter files are found in /lib directory.
Templates, styles, and client-side scripts are in the /src directory.
###Building
There are several gulp tasks available but the main ones to be aware of are:
####gulp build - Full Build
Runs jshint, parses LESS, compiles templates, concatenates and minifies scripts.
Note: This task will fail if linting fails.
####gulp watch - Watch Files
Watches for changes to JS, LESS, and MU and builds when a change is detected. If a change is detected in a JS file this will run jshint first before building and will fail on any lint errors.
####gulp lint - Lint JS
This will run jshint only, no building will occur.
####gulp test - Run Test
After building you can run this to test the reporter and see the output.
Note: The default gulp task will run this task.
####gulp testOpts - Run Test with Options
After building you can run this to test the reporter and see the output.
We use cookies
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.