Тестовый раннер Bun поддерживает встроенные отчёты о покрытии кода через флаг --coverage.
sh
bun test --coveragetxt
test.test.ts:
✓ math > add [0.71ms]
✓ math > multiply [0.03ms]
✓ random [0.13ms]
-------------|---------|---------|-------------------
File | % Funcs | % Lines | Uncovered Line #s
-------------|---------|---------|-------------------
All files | 66.67 | 77.78 |
math.ts | 50.00 | 66.67 |
random.ts | 50.00 | 66.67 |
-------------|---------|---------|-------------------
3 pass
0 fail
3 expect() callsДля установки минимального порога покрытия добавьте следующую строку в ваш bunfig.toml. Это требует, чтобы 90% вашей кодовой базы было покрыто тестами.
toml
[test]
# требовать 90% покрытия на уровне строк и функций
coverageThreshold = 0.9Если ваш набор тестов не достигает этого порога, bun test завершится с ненулевым кодом выхода, сигнализируя о неудаче.
sh
bun test --coveragetxt
<вывод тестов>
$ echo $?
1 # это код выхода предыдущей командыМожно установить различные пороги для покрытия на уровне строк и функций.
toml
[test]
# установить разные пороги для строк и функций
coverageThreshold = { lines = 0.5, functions = 0.7 }Смотрите Документация > Тестирование > Покрытие для полной документации об отчётах покрытия кода в Bun.