# karma-jasmine-html-reporter
[![npm version](https://img.shields.io/npm/v/karma-jasmine-html-reporter.svg)](https://www.npmjs.com/package/karma-jasmine-html-reporter) [![npm downloads](https://img.shields.io/npm/dm/karma-jasmine-html-reporter.svg)](https://www.npmjs.com/package/karma-jasmine-html-reporter)
Reporter that dynamically shows tests results at debug.html page.
Jasmine 1.3 is not supported. For Jasmine < 3.0.0, use version 0.2.2
![alt tag](/screenshots/reporter_1.png)
You can also run a describe block, or a single test.
![alt tag](/screenshots/reporter_2.png)
## Installation
You can simply install `karma-jasmine-html-reporter` as a devDependency by:
```bash
npm install karma-jasmine-html-reporter --save-dev
```
## Configuration
```js
// karma.conf.js
module.exports = function(config) {
config.set({
reporters: ['kjhtml']
});
};
```
#### With options
In combination with multiple reporters you may want to disable terminal messages because it's already handled by another reporter.
*Example using the 'karma-mocha-reporter' plugin*:
```js
// karma.conf.js
module.exports = function(config) {
config.set({
// Combine multiple reporters
reporters: ['kjhtml', 'mocha'],
jasmineHtmlReporter: {
suppressAll: true, // Suppress all messages (overrides other suppress settings)
suppressFailed: true // Suppress failed messages
}
});
};
```
You can pass a list of reporters as a CLI argument too:
```bash
karma start --reporters kjhtml
```
## Develop
There's not much to this package.
[`adapter.js`](src/lib/adapter.js), [`html.jasmine.reporter.js`](src/lib/html.jasmine.reporter.js), and [`jasmine.css`](src/css/jasmine.css) are copied with small adjustments from [`jasmine/lib/jasmine-core/boot.js`](https://github.com/jasmine/jasmine/blob/main/lib/jasmine-core/boot.js) and [`jasmine/lib/jasmine-core/jasmine-html.js`](https://github.com/jasmine/jasmine/blob/main/lib/jasmine-core/jasmine-html.js), and [`jasmine/lib/jasmine-core/jasmine.css`](https://github.com/jasmine/jasmine/blob/main/lib/jasmine-core/jasmine.css) respectively.
Just pull over changes from Jasmine as needed. There is a script to help with that; just run `npm run build` and review the changes. Specifically, [`adapter.js`](src/lib/adapter.js) needs a lot of manual removals.