Skip to content
This repository has been archived by the owner on Jul 19, 2024. It is now read-only.

bolteu/agent-js-jest

 
 

Repository files navigation

@bolteu/agent-js-jest

A Jest reporter with Detox support that uploads the results to a ReportPortal server.

Installation

npm install --save-dev @bolteu/agent-js-jest

Usage

In your jest config section of package.json, add the following entry:

{
    "jest": {
        "reporters": [
            "default",
            ["@bolteu/agent-js-jest",
            {
                "token": "00000000-0000-0000-0000-000000000000",
                "endpoint": "https://your.reportportal.server/api/v1",
                "project": "YourReportPortalProjectName",
                "launch": "YourLauncherName",
                "description": "YourDescription",
                "logLaunchLink": true,
                "attributes": [
                    {
                        "key": "YourKey",
                        "value": "YourValue"
                    },
                    {
                        "value": "YourValue"
                    }
                ],
                "restClientConfig": {
                  "timeout": 0
                }
            }]
        ]
    }
}

In case you use jest.config.js, you should add to it the following:

module.exports = {
    reporters: [
        "default",
        [
            "@bolteu/agent-js-jest",
            {
                "token": "00000000-0000-0000-0000-000000000000",
                "endpoint": "https://your.reportportal.server/api/v1",
                "project": "YourReportPortalProjectName",
                "launch": "YourLauncherName",
                "description": "YourDescription",
                "logLaunchLink": true,
                "disabled": true,
                "disableUploadAttachments": true,
                "attributes": [
                    {
                        "key": "YourKey",
                        "value": "YourValue"
                    },
                    {
                        "value": "YourValue"
                    },
                ]
            }
        ]
    ],

It's possible by using environment variables, it's important to mention that environment variables has precedence over package.json definition.

$ export RP_TOKEN=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
$ export RP_PROJECT_NAME=MY_AWESOME_PROJECT
$ export RP_ENDPOINT=MY_RP_ENDPOINT
$ export RP_LAUNCH=MY_COOL_LAUNCHER
$ export RP_ATTRIBUTES=key:value,key:value,value
$ export RP_LAUNCH_ID=EXIST_LAUNCH_ID
$ export RP_RERUN=boolean
$ export RP_RERUNOF=EXIST_LAUNCH_ID
$ export RP_DESCRIPTION=MY_LAUNCH_DESCRIPTION
$ export RP_ARTIFACTS_PATH=MY_DETOX_ARTIFACTS_PATH
$ export RP_DISABLED=false
$ export RP_DISABLE_UPLOAD_ATTACHMENTS=false

This for your convenience in case you has a continuous job that run your tests and may post the results pointing to a different Report Portal definition of project, launcher name or tags.

Disable the colors of test output:

In the Report Portal, the output of the test results may contain ANSI character set, this may be caused by the color setting in Jest. For version "jest": "^24.8.0", use jest --no-colors command to disable the colors of test output.

Used to report retry of test:

The agent supports of Retries. Read more about retries in jest.

The agent supports Detox Retries (including CLI --retries). Read more about retries in detox.

Rerun:

Reruns are automatically handled for Detox retries.

To report rerun to the report portal you need to specify the following options:

  • rerun - to enable rerun
  • rerunOf - UUID of launch you want to rerun. If not specified, report portal will update the latest launch with the same name

Example:

"rerun": true,
"rerunOf": "f68f39f9-279c-4e8d-ac38-1216dffcc59c"

Artifacts path:

Default: '__e2e__/artifacts/'.
Artifacts path where detox store captured videos/screenshots/device logs.
All mp4, png and log files will be included as an attachments to failed test logs.

Example:

"artifactsPath": '__e2e__/artifacts/'

Disabled flag:

This flag disables sending e2e tests data to report portal. (Default: false)

Example:

"disabled": false

DisableUploadAttachments flag:

This flag disables sending e2e tests attachments to report portal. (Default: false)

Example:

"disableUploadAttachments": true

Skipped issue:

Default: true. ReportPortal provides feature to mark skipped tests as not 'To Investigate' items on WS side.
Parameter could be equal boolean values:
TRUE - skipped tests considered as issues and will be marked as 'To Investigate' on Report Portal.
FALSE - skipped tests will not be marked as 'To Investigate' on application.

Example:

"skippedIssue": false

Launch mode:

Launch mode. Allowable values DEFAULT (by default) or DEBUG.

Example:

"mode": "DEBUG"

Debug flag:

This flag allows seeing the logs of the client-javascript. Useful for debugging an agent.

Example:

"debug": true

LogLaunchLink flag:

This flag allows print the URL of the Launch of the tests in console.

Example:

"logLaunchLink": true

REST Client config:

Optional property.
The object with agent property for configure http(s) client, may contain other client options eg. timeout.
Visit client-javascript for more details.

Copyright Notice

Licensed under the Apache License v2.0

Contribution

This code was based on the jest-junit and adapted by team members of Ontoforce for the ReportPortal upload. Ontoforce contributed this effort as Open Source to the ReportPortal project team.

About

ReportPortal agent for the Javascript Jest unit test framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 99.6%
  • Shell 0.4%