JSON reporter for Karma
The easiest way is to keep karma-json-reporter
as a devDependency in your package.json
.
{
"devDependencies": {
"karma": "~0.10",
"karma-json-reporter": "~1.1"
}
}
You can simple do it by:
npm install karma-json-reporter --save-dev
Use it as a reporter
// karma.conf.js
module.exports = function(config) {
// ...
// json reporter directly output stringified json
reporters: ['json'],
jsonReporter: {
stdout: true,
outputFile: 'results.json' // defaults to none
}
// ...
};
{
"browsers": { // Collection of used browser
"<browser.id>": {
"id": "<same browser.id>",
"fullName": String,
"name": String,
"state": Number,
"lastResult": {
"success":Number,
"failed": Number,
"skipped": Number,
"total": Number,
"totalTime": Number,
"netTime":Number,
"error": Boolean,
"disconnected": Boolean
},
"launchId": Number
}
},
"result": { // Collection result per browser
"<browser.id>": [
{
"id": Number, // spec.id
"description": String, // spec.description
"suite": Array.of(String), // spec.suite
"success": Boolean,
"skipped": Boolean,
"time": Number,
"log": Array.of(String), // spec.log
},
]
},
"summary": {
"success": Number, // total number of success
"failed": Number, // total number of fail
"error": Boolean,
"disconnected": Boolean,
"exitCode": Number
}
}