-
Notifications
You must be signed in to change notification settings - Fork 76
Configuration
The way to configure this plugin depends on how it is invoked by Jest - either it is run as a "custom reporter" using the reporters
-option, or as a testResultsProcessor
. The first mentioned method has all its configuration residing in the same file (jest.config.js
), while the latter requires a separate configuration file. Please refer to the examples below for further information.
The plugin may also be configured using environment variables for dynamic file saving paths in different environments. You can find an example here.
All of the following configuration options are optional. NOTE: The environment variables will take precedence over configurations set in the configuration files
JEST_HTML_REPORTER_PAGE_TITLE
The title of the document. This string will also be outputted on the top of the page.
Default: "Test Suite"
JEST_HTML_REPORTER_OUTPUT_PATH
The path to where the plugin will output the HTML report. The path must include the filename and end with .html
Default: "./test-report.html"
JEST_HTML_REPORTER_INCLUDE_FAILURE_MSG
If this setting is set to true, this will output the detailed failure message for each failed test.
Default: false
JEST_HTML_REPORTER_INCLUDE_CONSOLE_LOG
If set to true, this will output all triggered console logs for each test suite. Note: Jest needs to be run with --verbose=false
for this to work.
Default: false
JEST_HTML_REPORTER_INCLUDE_SUITE_FAILURE
If this setting is set to true, this will output the detailed failure message for each failed test.
Default: false
JEST_HTML_REPORTER_STYLE_OVERRIDE_PATH
The path to a file containing CSS styles that should override the default styling. The plugin will search for the styleOverridePath from the root directory, therefore there is no need to prepend the string with ./
or ../
. Have a look at the defaultTheme for a reference of the elements available for styling.
Default: null
JEST_HTML_REPORTER_USE_CSS_FILE
If set to true, the CSS styles will link in the current theme's .css file instead of inlining its content on the page.
Default: false
JEST_HTML_REPORTER_CUSTOM_SCRIPT_PATH
Path to a javascript file that should be injected into the test report.
Default: null
JEST_HTML_REPORTER_THEME
The name of the reporter themes to use when rendering the report. You can find the available themes in the documentation
Default: "defaultTheme"
JEST_HTML_REPORTER_LOGO
Path to a logo that will be included in the header of the report
Default: null
JEST_HTML_REPORTER_EXECUTION_TIME_WARNING_THRESHOLD
The threshold for test execution time (in seconds) in each test suite that will render a warning on the report page. 5 seconds is the default timeout in Jest.
Default: 5
JEST_HTML_REPORTER_DATE_FORMAT
The format in which date/time should be formatted in the test report. Have a look in the documentation for the available date format variables.
Default: "yyyy-mm-dd HH:MM:ss"
JEST_HTML_REPORTER_SORT
Sorts the test results using the given method. Available sorting methods can be found in the documentation.
Default: "default"
JEST_HTML_REPORTER_STATUS_FILTER
A comma-separated string of the test result statuses that should be ignored when rendering the report. Available statuses are: "passed"
, "pending"
, "failed"
Default: null
JEST_HTML_REPORTER_BOILERPLATE
The path to a boilerplate file that should be used to render the body of the test results into. {jesthtmlreporter-content}
within the boilerplate will be replaced with the test results
Default: null
Add your configuration to jest.config.js
in the following manner:
"reporters": [
"default",
"./node_modules/jest-html-reporter", {
"pageTitle": "Your test suite",
"outputPath": "test-report/index.html",
"includeFailureMsg": false,
"styleOverridePath": "src/teststyle.css"
}
]
When running as a testResultProcessor, the configuration needs to be put in a separate file named jesthtmlreporter.config.json
placed within the root folder of the project:
{
"pageTitle": "Your test suite",
"outputPath": "test-report/index.html",
"includeFailureMsg": false,
"styleOverridePath": "src/teststyle.css"
}
It is also possible to configure the plugin with package.json
(although this is not recommended). Add an entry named "jest-html-reporter"
to your package.json like so:
{
...
"jest-html-reporter": {
"pageTitle": "Your test suite",
"outputPath": "test-report.html",
"includeFailureMsg": true
}
}
Here is an example of dynamically naming your output file and test report title to match your current branch that one might see in a automated deployment pipeline before running their tests.
export BRANCH_NAME=`git symbolic-ref HEAD 2>/dev/null | cut -d"/" -f 3`
export JEST_HTML_REPORTER_OUTPUT_PATH=/home/username/jest-test-output/test-reports/"$BRANCH_NAME".html
export JEST_HTML_REPORTER_PAGE_TITLE="$BRANCH_NAME"\ Test\ Report