50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
---
|
|
title: Generate code coverage reports with the Bun test runner
|
|
sidebarTitle: Coverage reports
|
|
mode: center
|
|
---
|
|
|
|
Bun's test runner has built-in _code coverage reporting_. Use it to see how much of your codebase your tests cover, and where the gaps are.
|
|
|
|
---
|
|
|
|
Pass the `--coverage` flag to `bun test` to print a coverage report after the test run.
|
|
|
|
The report lists the source files the tests executed, the percentage of functions and lines that ran, and the line ranges that never ran.
|
|
|
|
```sh terminal icon="terminal"
|
|
bun test --coverage
|
|
```
|
|
|
|
```txt
|
|
|
|
test.test.ts:
|
|
✓ math > add [0.71ms]
|
|
✓ math > multiply [0.03ms]
|
|
✓ random [0.13ms]
|
|
-------------|---------|---------|-------------------
|
|
File | % Funcs | % Lines | Uncovered Line #s
|
|
-------------|---------|---------|-------------------
|
|
All files | 50.00 | 66.67 |
|
|
math.ts | 50.00 | 66.67 |
|
|
random.ts | 50.00 | 66.67 |
|
|
-------------|---------|---------|-------------------
|
|
|
|
3 pass
|
|
0 fail
|
|
3 expect() calls
|
|
```
|
|
|
|
---
|
|
|
|
To enable coverage reporting by default, add the following to your `bunfig.toml`:
|
|
|
|
```toml bunfig.toml icon="settings"
|
|
[test]
|
|
coverage = true # always enable coverage
|
|
```
|
|
|
|
---
|
|
|
|
See [Code coverage](/test/code-coverage).
|