jasmine-console-reporter

3.1.0 • Public • Published

jasmine-console-reporter

npm release license downloads dependencies maintained

© 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:

JCR Screen

Overall summary outputs:

JCR Summaries

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,           // (0|false)|(1|true)|2
    cleanStack: 1,       // (0|false)|(1|true)|2|3
    verbosity: 4,        // (0|false)|1|2|(3|true)|4|Object
    listStyle: 'indent', // "flat"|"indent"
    timeUnit: 'ms',      // "ms"|"ns"|"s"
    timeThreshold: { ok: 500, warn: 1000, ouch: 3000 }, // Object|Number
    activity: false,     // boolean or string ("dots"|"star"|"flip"|"bouncingBar"|...)
    emoji: true,
    beep: true
});
// pass the initialized reporter to whichever task or host...

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
Default: { ok: 500, warn: 1000, ouch: 3000 }. Specifies the expected maximum time(s) (in milliseconds) for any spec to complete its execution. If threshold is exceeded, elapsed time for that spec will be accented in the output. This is only effective if colors option is enabled.

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
 
// setup Jasmine
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;
 
// setup console reporter
const JasmineConsoleReporter = require('jasmine-console-reporter');
const reporter = new JasmineConsoleReporter({
    colors: 1,           // (0|false)|(1|true)|2
    cleanStack: 1,       // (0|false)|(1|true)|2|3
    verbosity: 4,        // (0|false)|1|2|(3|true)|4|Object
    listStyle: 'indent', // "flat"|"indent"
    timeUnit: 'ms',      // "ms"|"ns"|"s"
    timeThreshold: { ok: 500, warn: 1000, ouch: 3000 }, // Object|Number
    activity: true,
    emoji: true,         // boolean or emoji-map object
    beep: true
});
 
// initialize and execute
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.

Package Sidebar

Install

npm i jasmine-console-reporter

Weekly Downloads

16,174

Version

3.1.0

License

MIT

Unpacked Size

50 kB

Total Files

10

Last publish

Collaborators

  • onury