Чтобы проверить покрытие тестами с помощью Jest, вы можете воспользоваться несколькими способами. Ниже я приведу несколько примеров с фрагментами кода.
Метод 1: использование флага --coverage
Jest предоставляет встроенный генератор отчетов о покрытии, который вы можете использовать для создания отчета о покрытии. Запустив Jest с флагом --coverage
, вы можете создать отчет о покрытии, включающий информацию о том, какие части вашего кода охвачены вашими тестами.
Вот пример команды, которую вы можете использовать в своем терминале:
jest --coverage
Выполнение этой команды приведет к выполнению ваших тестов и созданию отчета о покрытии в терминале, отображающего сводную информацию о покрытии для каждого протестированного файла.
Метод 2: использование параметра конфигурации collectCoverage
.
Jest также позволяет вам настроить поведение тестового покрытия с помощью параметра collectCoverage
в вашем jest.config.js
файл. Вы можете указать, какие файлы или шаблоны следует включить или исключить из отчета о покрытии.
Вот пример файла jest.config.js
:
module.exports = {
// Other Jest configuration options...
collectCoverage: true,
collectCoverageFrom: [
'src//*.js', // Include all JavaScript files in the "src" directory
'!src//*.spec.js', // Exclude test files
'!src/index.js' // Exclude the entry file
],
coverageDirectory: 'coverage',
coverageReporters: ['text', 'html']
};
В этом примере для collectCoverage
установлено значение true
, что позволяет собирать данные о покрытии. collectCoverageFrom
определяет файлы, которые необходимо включить/исключить из отчета о покрытии. coverageDirectory
указывает выходной каталог отчета о покрытии, а coverageReporters
определяет формат отчета (в данном случае как текст, так и HTML).
Метод 3. Использование пользовательских пороговых значений покрытия.
Jest позволяет вам определить пользовательские пороговые значения покрытия, чтобы обеспечить соблюдение определенных требований к покрытию для вашей кодовой базы. Вы можете установить эти пороговые значения в своем файле jest.config.js
.
Вот пример определения порогов покрытия:
module.exports = {
// Other Jest configuration options...
coverageThreshold: {
global: {
branches: 80,
functions: 90,
lines: 90,
statements: 90
}
}
};
В этом примере пороговые значения покрытия установлены на уровне 80 % для ветвей, 90 % для функций, строк и операторов. Jest не пройдет тесты, если покрытие упадет ниже этих пороговых значений.
Не стесняйтесь подробно рассказать об этих методах и примерах в статье своего блога, чтобы предоставить более подробную информацию и идеи.