jest-puppeteer-istanbul
Install
yarn add -D jest-puppeteer-istanbul// ornpm 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 processenvNODE_ENV === "development" pluginsmoduleexports = plugins: plugins
// babel.config.json { "plugins": [ // Your babel plugins ], "env": { "development": { "plugins": [ "istanbul" ] } }}
[3/4]
Update your Jest configuration:
- Add
json
tocoverageReporters
. Since the defualt value ofcoverageReporters
hasjson
inclued, you don't need to changecoverageReporters
if you havn't specify it. - Add
jest-puppeteer-istanbul/lib/setup
tosetupFilesAfterEnv
. - Add
jest-puppeteer-istanbul/lib/reporter
toreporters
.
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:
Examples
Check this link for complete examples.