jasmine-console-reporter
© 2018, Onur Yıldırım (@onury). MIT License.
Progressive Console Reporter for Jasmine. (for Jasmine v3+)
Outputs detailed test results to the console, with beautiful layout and colors.
Example screen:
Overall summary outputs:
Installation
npm i jasmine-console-reporter --save-dev
JCR v3+ requires peer dependency Jasmine v3+ and works on Node.js v6+. See compatibility table.
Usage
const JasmineConsoleReporter = require('jasmine-console-reporter');
const reporter = new JasmineConsoleReporter({
colors: 1,
cleanStack: 1,
verbosity: 4,
listStyle: 'indent',
timeUnit: 'ms',
timeThreshold: { ok: 500, warn: 1000, ouch: 3000 },
activity: false,
emoji: true,
beep: true
});
Options
Option | Description |
---|
colors
Number|Boolean | Default: 1 . Specifies whether the output should have colored text. Possible integer values: 0 to 2. Set to 1 (or true ) to enable colors. Set to 2 to use the ANSI escape codes. Option 2 can be useful if, for example, you're running your tests from a sub-process, and the colors aren't showing up. |
cleanStack
Number|Boolean | Default: 1 . Specifies the filter level for the error stacks. Possible integer values: 0 to 3. Set to 1 (or true ) to only filter out lines with jasmine-core path from stacks. Set to 2 to filter out all node_modules paths. Set to 3 to also filter out lines with no file path in it. |
verbosity
Number|Boolean|Object | Default: 4 . Specifies the verbosity level for the reporter output. Possible integer values: 0 to 4. When a Boolean value is passed, true defaults to 4 and false defaults to 0 . Level 0: reports errors only. Level 1: also displays a summary. Level 2: also reports pending specs. Level 3: additionally displays all suites and specs as a list, except disabled and excluded specs. Level 4: lists all. Or set to an object to toggle each output section individually. Any omitted value will default to true . e.g. { pending: false, disabled: false, specs: false, summary: true } |
listStyle
String | Default: "indent" . Indicates the style of suites/specs list output. Possible values: "flat" or "indent" . Setting this to "indent" provides a better view especially when using nested (describe) suites. This option is only effective when verbosity level is set to 3 , 4 or true . |
timeUnit
String | Default: "ms" . Specifies the time unit to be used to measure spec execution. "ms" for milliseconds, "ns" for milliseconds including hi-res nanoseconds remainder, "s" for seconds including milliseconds remainder. Note that overall time in final summary is always reported in seconds. |
timeThreshold `Number | Object` |
activity
Boolean|String | Default: false . Specifies whether to enable the activity indicator animation that outputs the current spec that is being executed. Set to a string value to set/change the spinner style. |
emoji
Boolean|Object | Default: false . Whether to output some emojis within the report, for a little fun. To customize emojis, you can set an object. Note that emojis will be auto-disabled in CI environments. |
beep
Boolean | Default: true . Whether to play system beep when tests finish with status "failed". Note that beep will be auto-disabled in CI and non-TTY environments. |
Full Example with Jasmine (Node.js)
#!/usr/bin/env node
const Jasmine = require('jasmine');
const jasmine = new Jasmine();
jasmine.loadConfig({
spec_dir: 'test',
spec_files: ['**/*[sS]pec.js'],
helpers: ['helpers/**/*.js'],
random: false,
seed: null,
stopSpecOnExpectationFailure: false
});
jasmine.jasmine.DEFAULT_TIMEOUT_INTERVAL = 15000;
const JasmineConsoleReporter = require('jasmine-console-reporter');
const reporter = new JasmineConsoleReporter({
colors: 1,
cleanStack: 1,
verbosity: 4,
listStyle: 'indent',
timeUnit: 'ms',
timeThreshold: { ok: 500, warn: 1000, ouch: 3000 },
activity: true,
emoji: true,
beep: true
});
jasmine.env.clearReporters();
jasmine.addReporter(reporter);
jasmine.execute();
Change-Log
See CHANGELOG.md.
Compatibility Table
Jasmine Console Reporter | Node | Jasmine |
---|
v3.x | v6 and newer | v3.x |
v2.x | v4 and newer | v2.x |
v1.2.7 | below v4 | v2.x |
License
MIT.