Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

jest-playwright-istanbul

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

jest-playwright-istanbul

Collect code coverage information from end-to-end jest chromium tests.

  • 0.5.16
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
7
Maintainers
1
Weekly downloads
 
Created
Source

jest-playwright-istanbul

This is a fork of ocavue/jest-puppeteer-istanbul, if you are using puppeteer, i would suggest using original library. it has been modified and added a function to manually passing a page to a function and setting the coverage.

Install

yarn add -D jest-playwright-istanbul
// or
npm install -D jest-playwright-istanbul

Configure

[1/4]

Make sure that you have Jest and Babel installed and configured.

[2/4]

Install babel-plugin-istanbul and add it to your Babel config.

You should ONLY use this plugin when you are in development mode. This plugin will add a lot of code for keeping track of the coverage statements. You definitely won't want them in your final production code.

Babel configuration examples:

// .babelrc.js

const plugins = [
    /* Your babel plugins */
]
if (process.env.NODE_ENV === "development") {
    plugins.push("istanbul")
}
module.exports = {
    plugins: plugins,
}
// babel.config.json

{
    plugins: [
        // Your babel plugins
    ],
    env: {
        development: {
            plugins: ["istanbul"],
        },
    },
}

[3/4]

Update your Jest configuration:

  • Add json to coverageReporters. Since the defualt value of coverageReporters has json inclued, you don't need to change coverageReporters if you havn't specify it.
  • Add jest-playwright-istanbul/lib/reporter to reporters.

Set coverage using function as follow:

import { setCoverage } from "jest-playwright-istanbul"

await setCoverage(page)

Alternatively If chromium page available globally do as follow:

Update your Jest configuration:

  • Add jest-playwright-istanbul/lib/setup to setupFilesAfterEnv.

Notice:

If custom reporters are specified, the default Jest reporters will be overridden. To keep default reporters, default can be passed as a module name.

A Jest configuration example:

{
  coverageReporters: ["json", "text", "lcov"],
  setupFilesAfterEnv: ["jest-playwright-istanbul/lib/setup"],
  reporters: ["default", "jest-playwright-istanbul/lib/reporter"],
  collectCoverage: true,
}

If you use jest-chromium, jest-chromium will make page globally available. Otherwise you can set page globally as follow:

beforeAll(async () => {
    const browser = await chromium.launch()
    const page = await browser.newPage()
    global.page = page
})
describe("E2E Tests", () => {
    test(async () => {
        /* Your test code */
    })
})

Keywords

FAQs

Package last updated on 27 Jul 2020

Did you know?

Socket

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
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc