Socket
Socket
Sign inDemoInstall

bespoken-jest-stare

Package Overview
Dependencies
51
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    bespoken-jest-stare

jest html reporter (results processor) to view HTML jest results, save raw JSON, and invoke multiple reporters


Version published
Weekly downloads
457
decreased by-1.93%
Maintainers
2
Install size
18.2 MB
Created
Weekly downloads
 

Readme

Source

jest CircleCI Travis CI Azure Pipelines Codecov Coverage npm version License

Jest HTML Reporter

This is a Jest HTML reporter. It takes summary test results from jest and parses them into an HTML file for improved readability and filtering.

Sample

Features

  • filter on pass / failed tests
  • side-by-side snapshot diff
  • chart-summarized information
  • captures raw jest results JSON file
  • link to generated coverage report (if configured)
  • configuration
  • cli
  • api

Usage

Run tests or a test with jest and specify jest-stare on the --reporters option:

  • jest --reporters default jest-stare
  • jest --testResultsProcessor=jest-stare

Alternatively, in your jest config within package.json set reporters to jest-stare :

  • "reporters": ["default", "jest-stare"]
  • "testResultsProcessor": "./node_modules/jest-stare"

jest-stare when used as a reporter updates the HTML report on each completed test run. You can use this to view test output that is incomplete (before each test suite completes). Refresh your browser to see new tests as each suite completes.

By default, after a report is generated, output will go to ./jest-stare and will contain:

  • index.html - html report
  • jest-results.json - raw jest json data
  • /js - javascript render files
  • /css - css stylings

Config

If you need to configure jest-stare, do so by adding a jest-stare object to your package.json, for example:

jest-stare: {
    ...
}

You can also configure each option via environmental variables instead. Environmental variables take precedence over values in package.json. CLI options take precedence of environmental variables and configuration.

Within the configuration object you can specify the following fields:

FieldEnvironmental VariableDefaultDescriptionExample
resultDirJEST_STARE_RESULT_DIRjest-stareset the results directory"resultDir": "results/jest-stare"
resultJsonJEST_STARE_RESULT_JSONjest-results.jsonindicate the raw JSON results file name"resultJson": "data.json"
resultHtmlJEST_STARE_RESULT_HTMLindex.htmlindicate the main html file name"resultHtml": "main.html"
resultHtmlJEST_STARE_RESULT_HTMLindex.htmlindicate the main html file name"resultHtml": "main.html"
logJEST_STARE_LOGtruespecify whether or not jest-stare should log to the console"log": "false"
jestStareConfigJsonJEST_STARE_CONFIG_JSONundefinedrequest to save jest-stare config raw JSON results in the file name"jestStareConfigJson": "jest-stare-config.json"
jestGlobalConfigJsonJEST_STARE_GLOBAL_CONFIG_JSONundefinedrequest to save global config results in the file name"jestGlobalConfigJson": "global-config.json"
reportJEST_STARE_REPORTundefinedboolean, set to false to suppress creating a HTML report (JSON only retained)"report": false
reportTitleJEST_STARE_REPORT_TITLEjest-stare!string, indicate the title of the report"reportTitle": "my title"
reportHeadlineJEST_STARE_REPORT_HEADLINEjest-starestring, indicate the headline of the report"reportHeadline": "my headline"
reportSummaryJEST_STARE_REPORT_SUMMARYundefinedboolean, shows the report summary"reportSummary": true
additionalResultsProcessorsJEST_STARE_ADDITIONAL_RESULTS_PROCESSORSundefinedadd additional test result processors to produce multiple report"additionalResultsProcessors": ["jest-html-reporter", "jest-junit"]
coverageLinkJEST_STARE_COVERAGE_LINKundefinedlink to coverage report if available"coverageLink": "../../coverage/lcov-report/index.html"
disableChartsJEST_STARE_DISABLE_CHARTSundefinedhide the doughnut charts in the HTML report"disableCharts": true
hidePassingJEST_STARE_HIDE_PASSINGundefinedhide passing tests in the report on page load"hidePassing": true
hideFailingJEST_STARE_HIDE_FAILINGundefinedhide failing tests in the report on page load"hideFailing": true
hidePendingJEST_STARE_HIDE_PENDINGundefinedhide pending tests in the report on page load"hidePending": true
inlineSourceJEST_STARE_INLINE_SOURCEfalseboolean, create a report in a single file"inlineSource": true
generatePdfJEST_STARE_GENERATE_PDFfalseboolean, generate a pdf version of the report"generatePdf": true
generatePdfTokenJEST_STARE_GENERATE_PDF_TOKENundefinedAPI token to generate pdf reports"generatePdfToken": "[TOKEN]"

API

You can programmatically invoke jest-stare and provide jest response data via:

// require jest-stare
const processor = require("jest-stare");

// load some jest results JSON data
const simplePassingTests = require("../__tests__/__resources__/simplePassingTests.json");

// call jest-stare processor, passing a first parm of the jest json results,
// and optionally a second parm of jest-stare config
processor(simplePassingTests, {log: false, resultDir: __dirname + "/output"});

CLI

Use the jest-stare CLI to create or recreate an HTML report. You only need to supply an input JSON file containing the jest test results.

You can invoke jest-stare as a CLI after installing globally via npm install -g jest-stare. Or if jest-stare is a local dependency you can invoke the CLI via npx jest-stare...

Assuming that you have a relative file to your current location in a folder "data" and "simplePassingTests.json" contains saved JSON output from a jest test invocation, you can run the CLI providing a single positional input jest JSON file:

jest-stare data/simplePassingTests.json

Optionally you can control where the report will be stored using a second positional:

jest-stare data/simplePassingTests.json c:/users/myId/desktop/output

The command response takes a form of:

jest-stare was called with programmatic config
**  jest-stare: wrote output report to c:/users/myId/desktop/output/index.html  **

Jest Watch

Because jest-stare writes *.js files when generating a report, you may get an infinite loop when using jest-stare and jest --watch. Samples of the problem are documented here:

To get around this problem, consider excluding jest-stare *.js files from watch via something like this:

    "watchPathIgnorePatterns": [
      ".*jest-stare.*\\.js"
    ],

Contributing

See contributing.

Acknowledgements

Thanks to dogboydog for additions to configuration!

This project is based on:

Keywords

FAQs

Last updated on 26 May 2021

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.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc