Has anyone managed to combine test coverage report from two separate jest test runs?
I am newbie trying to use the default jest coverage reporters: ["json", "lcov", "text", "clover"]
I have tried using nyc
to combine coverage-final*.json
files from tmp folder and output to a full-test-coverage/
folder.
npx nyc report --report-dir=full-test-coverage/ --reporter=html -t tmp
The full-test-coverage folder is created with index.html etc. However, the combined report is empty.
Jest is collecting coverage only on the function under tests, not from the entire project. This means that despite we are seeing 100% coverage here, potentially we are testing only a fraction of our code. Now Jest is identify correctly what needs to be tested.
Jest, a flexible, easy-to-use testing framework, will be used to test a simple Typescript application. Codecov, a tool for monitoring code coverage, will be used to measure the test coverage for your Jest unit tests.
I was struggling with this too but I managed to do it by using the istanbul-merge package
So assuming that you want to merge two test coverage named coverage-final.json
located in two different folders f1
and f2
,and name the output f3/coverage.json
you can do :
npx istanbul-merge --out coverage.json ./f1/coverage-final.json ./f2/coverage-final.json
and then use instanbul to create the HTML report :
npx istanbul report --include coverage.json --dir f3 html
I managed to get it working with nyc. Steps:
coverage-final.json
files)nyc merge multiple-sources-dir merged-output/merged-coverage.json
nyc report -t merged-output --report-dir merged-report --reporter=html --reporter=cobertura
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With