Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
karma-mocha-reporter
Advanced tools
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.
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'
]
});
};
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.
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.
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 reporter plugin with mocha style logging.
The easiest way is to keep karma-mocha-reporter
as a devDependency in your package.json
.
{
"devDependencies": {
"karma": "^1.0.0",
"karma-mocha-reporter": "^2.0.0"
}
}
You can simply do it by:
$ npm install karma-mocha-reporter --save-dev
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
// reporters configuration
reporters: ['mocha']
});
};
Type: Object | Boolean
Lets 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 |
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
// reporters configuration
reporters: ['mocha'],
// reporter options
mochaReporter: {
colors: {
success: 'blue',
info: 'bgGreen',
warning: 'cyan',
error: 'bgRed'
},
symbols: {
success: '+',
info: '#',
warning: '!',
error: 'x'
}
}
});
};
To disable the colors please use the colors
option in the karma config.
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
// reporters configuration
reporters: ['mocha'],
// disable colors
colors: false
});
};
Type: Object
Lets you overwrite the default symbols.
Possible Values:
Value | Description | Default |
---|---|---|
success | success messages | ✔ |
info | info messages | ℹ |
warning | warn messages | ⚠ |
error | error messages | ✖ |
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
// reporters configuration
reporters: ['mocha'],
// reporter options
mochaReporter: {
symbols: {
success: '+',
info: '#',
warning: '!',
error: 'x'
}
}
});
};
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 |
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
// reporters configuration
reporters: ['mocha'],
// reporter options
mochaReporter: {
output: 'autowatch'
}
});
};
Type: String | Boolean
Shows a diff output. Is disabled by default. All credits to the contributors of mocha, since the diff logic is used from there and customized for this module.
Currently only works with karma-mocha >= v0.2.2 Not supported for karma-jasmine since the additional properties needed to render the diff are not supported in jasmine yet.
Possible Values:
Value | Description |
---|---|
true | prints each diff in its own line, same as 'unified' |
'unified' | prints each diff in its own line |
'inline' | prints diffs inline |
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['mocha', 'chai'],
// reporters configuration
reporters: ['mocha'],
// reporter options
mochaReporter: {
showDiff: true
}
});
};
Type: String
Default: 80 equals signs ('=')
The string to output between multiple test runs. Set to false
or empty string to disable
// karma.conf.js
module.exports = function(config) {
config.set({
frameworks: ['jasmine'],
// reporters configuration
reporters: ['mocha'],
// reporter options
mochaReporter: {
divider: ''
}
});
};
Type: Boolean
Possible Values:
false
(default)true
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.
Type: Number
Lets you set the maximum number of lines which are printed for a failure. The default value is 999. Helps to cut long stack traces.
Set the value to -1
to disable stack traces.
Type: Boolean
Possible Values:
false
(default)true
Prints the result of an it block after it is run in one browser. This options is useful when you have tests which are conditionally run in one browser only. Otherwise the result of the it block would not be printed because it was not run in all browsers.
// testfile.spec.js
if (navigator.userAgent.match(/firefox/i)) {
describe('Firefox tests', function() {
it('this would only be reported when printFirstSuccess is true', function() {
console.log('firefox test');
});
});
}
describe('Other tests', function() {
it('this should be always reported', function() {
console.log('hello world');
});
});
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:
$ npm run demo
Copyright (C) 2013-2017 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.
FAQs
Karma reporter with mocha style logging.
The npm package karma-mocha-reporter receives a total of 228,491 weekly downloads. As such, karma-mocha-reporter popularity was classified as popular.
We found that karma-mocha-reporter demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.