Краткий справочник

Шпаргалка по покрытию кода Mocha Blanket

Краткий справочник по измерению покрытия кода JavaScript-тестов с помощью Blanket.js и Mocha.

· Опубликовано

[!NOTE] Исторический инструмент: Blanket.js широко применялся для легковесного измерения покрытия в одном процессе с Mocha. Для современных проектов Node.js и TypeScript рекомендуются c8 (нативное покрытие V8) или NYC / Istanbul.

Blanket.js — библиотека оценки покрытия кода JavaScript, созданная для интеграции с такими тестовыми раннерами, как Mocha.

Установка

npm install --save-dev blanket

Настройка тестового хелпера

Подключите Blanket до импорта файлов, покрытие которых нужно измерить:

// test/helper.js
if (process.env.COVERAGE) {
  require('blanket')({
    pattern: require('path').resolve('./src')
  });
}

// Подключайте модули после регистрации хука blanket
const myModule = require('../src/index');

Скрипты пакета

Добавьте команды покрытия в package.json:

{
  "scripts": {
    "test": "mocha test/",
    "coverage": "env COVERAGE=1 mocha -R html-cov > coverage.html && open coverage.html"
  }
}

Добавьте сгенерированный HTML-отчёт в .gitignore:

echo "coverage.html" >> .gitignore

Запустите генерацию отчёта о покрытии:

npm run coverage

Непрерывная интеграция (CI) и Coveralls

Установите LCOV-репортер и адаптер Coveralls:

npm install --save-dev mocha-lcov-reporter coveralls

Добавьте шаг запуска в пайплайнах CI:

mocha -R mocha-lcov-reporter | ./node_modules/coveralls/bin/coveralls.js

Ссылки

Связанные темы