Codecov
Contents
Discover how to see test progress over time using Codecov.
Intro
Codecov is a nice reporting tool that can be used to visualize your test coverage over time and across multiple projects. It integrates nicely with GitHub and other CI/CD tools.
Command line
To get a test coverage report when running tests, simply add the --coverage
option:
npx jest --coverage
package.json
To get a coverage report every time you run npm test
. Add the --coverage
option in the package.json
scripts
section like this:
{
"scripts": {
"test": "jest --no-cache --coverage"
}
}
This also enables the npm test
in the Github action below to produce a coverage report for Codecov.
GitHub action
Here is an example of how to set up a GitHub action to automatically send your test coverage to Codecov:
Make sure the npm test command produces a coverage report. This is done by adding the --coverage option to the jest command as described above |
name: Coverage
on: [ push ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Node
uses: actions/setup-node@v4
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
- name: Install dependencies
run: npm ci --ignore-scripts
- name: Test
run: npm test
- uses: codecov/codecov-action@v4
Summary
With the above setup, you will get a nice test coverage report every time you run npm test
and also every time you push to GitHub. The report will be sent to Codecov where you can visualize it and track your progress over time.
The final chapter will demonstrate how to colocate tests with the source code.