Skip to content

Тестовый раннер Bun поддерживает встроенные отчёты о покрытии кода через флаг --coverage.

sh
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    |   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 --coverage
txt
<вывод тестов>
$ echo $?
1 # это код выхода предыдущей команды

Можно установить различные пороги для покрытия на уровне строк и функций.

toml
[test]
# установить разные пороги для строк и функций
coverageThreshold = { lines = 0.5, functions = 0.7 }

Смотрите Документация > Тестирование > Покрытие для полной документации об отчётах покрытия кода в Bun.

Bun от www.bunjs.com.cn