What is karma-mocha-reporter?
The karma-mocha-reporter is an npm package that provides a reporter for the Karma test runner, specifically designed to work with Mocha. It offers a clean and readable output of test results, making it easier to understand the status of your tests.
What are karma-mocha-reporter's main functionalities?
Basic Usage
This code sample demonstrates the basic setup of the karma-mocha-reporter in a Karma configuration file. It sets Mocha as the testing framework and uses the Mocha reporter to display test results.
module.exports = function(config) {
config.set({
frameworks: ['mocha'],
reporters: ['mocha'],
browsers: ['Chrome'],
files: [
'test/**/*.js'
]
});
};
Customizing Output
This code sample shows how to customize the output of the karma-mocha-reporter. By setting the 'output' option to 'full', you can get detailed information about each test, including the test name, duration, and status.
module.exports = function(config) {
config.set({
frameworks: ['mocha'],
reporters: ['mocha'],
mochaReporter: {
output: 'full'
},
browsers: ['Chrome'],
files: [
'test/**/*.js'
]
});
};
Using with Other Reporters
This code sample demonstrates how to use the karma-mocha-reporter alongside other reporters, such as the coverage reporter. The 'output' option is set to 'minimal' for a concise summary of test results, while the coverage reporter generates an HTML report of code coverage.
module.exports = function(config) {
config.set({
frameworks: ['mocha'],
reporters: ['mocha', 'coverage'],
mochaReporter: {
output: 'minimal'
},
coverageReporter: {
type: 'html',
dir: 'coverage/'
},
browsers: ['Chrome'],
files: [
'test/**/*.js'
]
});
};
Other packages similar to karma-mocha-reporter
karma-spec-reporter
The karma-spec-reporter is another reporter for the Karma test runner that provides a detailed and hierarchical view of test results. It is similar to karma-mocha-reporter but offers a different style of output, focusing on a more structured and indented format.
karma-jasmine-html-reporter
The karma-jasmine-html-reporter is designed for use with the Jasmine testing framework and provides an HTML-based view of test results. While it serves a similar purpose to karma-mocha-reporter, it is tailored for Jasmine rather than Mocha.
karma-nyan-reporter
The karma-nyan-reporter is a fun and visually engaging reporter for Karma that displays test results using a Nyan Cat animation. It offers a unique and entertaining way to view test results, in contrast to the more straightforward output of karma-mocha-reporter.
karma-mocha-reporter
Karma reporter plugin with mocha style logging.
How does it look like
Installation
The easiest way is to keep karma-mocha-reporter
as a devDependency in your package.json
.
{
"devDependencies": {
"karma": "^0.13",
"karma-mocha-reporter": "^1.1.0"
}
}
You can simple do it by:
$ npm install karma-mocha-reporter --save-dev
Configuration
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
reporters: ['mocha'],
plugins: [
'karma-jasmine',
'karma-mocha-reporter'
]
});
};
Options
colors
Type: Object
Let's you overwrite the default colors. Possible values are all colors and background colors from chalk.
Possible Values:
Value | Description | Default |
---|
success | success messages | green |
info | info messages | grey |
warning | warn messages | yellow |
error | error messages | red |
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
reporters: ['mocha'],
mochaReporter: {
colors: {
success: 'blue',
info: 'bgGreen',
warning: 'cyan',
error: 'bgRed'
}
},
plugins: [
'karma-jasmine',
'karma-mocha-reporter'
]
});
};
output
Type: String
Possible Values:
Value | Description |
---|
full (default) | all output is printed to the console |
autowatch | first run will have the full output and the next runs just output the summary and errors in mocha style |
minimal | only the summary and errors are printed to the console in mocha style |
noFailures | the failure details are not logged |
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
reporters: ['mocha'],
mochaReporter: {
output: 'autowatch'
},
plugins: [
'karma-jasmine',
'karma-mocha-reporter'
]
});
};
divider
Type: String
Default: 80 equals signs ('=')
The string to output between multiple test runs. Set to empty string to disable
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
reporters: ['mocha'],
mochaReporter: {
divider: ''
},
plugins: [
'karma-jasmine',
'karma-mocha-reporter'
]
});
};
ignoreSkipped
Type: Boolean
Possible Values:
When setting the ignoreSkipped flag to true, the reporter will ignore the skipped tests in the output and you will see
only the tests that where really executed. The summary will still contain the number of skipped tests.
Contributing
In lieu of a formal styleguide take care to maintain the existing coding style. Lint and test your code using grunt.
You can preview your changes by running:
$ grunt demo --force
Release History
v1.1.3
- Fix for divider is always "=" even the user set divider in config
v1.1.2
- Show a divider line between multiple test runs for clarity
v1.1.1
- Use overwritten colors also for the log symbols
v1.1.0
- Add option
colors
to config that allows to overwrite the default colors
v1.0.4
- Added plural or singular noun for 'test' based on count
v1.0.3
- Changed some formatting to not start at newline
v1.0.2
- enable colors when karma is piped
v1.0.1
- print out all errors in the summary when spec fails
v1.0.0
- add output option
noFailures
- when set, the failure details are not logged - time to get final with 1.0.0 :-)
v0.3.2
- strip color from symbols when colors is set to false
v0.3.1
- add option "ignoreSkipped" to ignore the skipped test in the output
v0.3.0
- add option "output" to set the output level of the reporter
v0.2.8
- add module log-symbols for printing symbols to the console
v0.2.7
- report totalTime and netTime the same way "dots" and "progress" reporters do
v0.2.6
- don't crash when the name of the describe or it block is a reserved object property (e.g. constructor, toString)
v0.2.5
- results summary is now also printed when all tests fail
v0.2.4
- better browser names formatting
- fix calculating describe items' success
- use karma's error formatter
v0.2.3
- fix missing test results when singleRun = true
v0.2.2
- fix that skipped test where reported as failure
v0.2.1
- make reporter compatible with karma 0.11
v0.2.0
- replace dependency color.js with chalk.js
v0.1.0
Author
Litixsoft GmbH
License
Copyright (C) 2013-2015 Litixsoft GmbH info@litixsoft.de
Licensed under the MIT license.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included i
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.