0.5.3 • Published 4 years ago

jest-puppeteer-istanbul v0.5.3

Weekly downloads
859
License
MIT
Repository
github
Last release
4 years ago

jest-puppeteer-istanbul

Install

yarn add -D jest-puppeteer-istanbul
// or
npm install -D jest-puppeteer-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-puppeteer-istanbul/lib/setup to setupFilesAfterEnv.
  • Add jest-puppeteer-istanbul/lib/reporter to reporters.

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-puppeteer-istanbul/lib/setup"],
  reporters: ["default", "jest-puppeteer-istanbul/lib/reporter"],
  collectCoverage: true,
}

4/4

jest-puppeteer-istanbul need to access puppeteer page from global variable page to get coverage information. If you use jest-puppeteer, jest-puppeteer will do it for you and you can skip this step. Otherwise you need to do it yourself, like below:

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

Examples

Check this link for complete examples.

0.5.3

4 years ago

0.5.2

4 years ago

0.5.1

4 years ago

0.4.5

4 years ago

0.5.0

4 years ago

0.4.4

4 years ago

0.4.3

4 years ago

0.4.2

4 years ago

0.4.1

4 years ago

0.4.0

4 years ago

0.3.2

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.2.0

5 years ago

0.1.6

5 years ago

0.1.5

5 years ago

0.1.4

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.0

5 years ago