Test runner (средство запуска тестов) в Jest — это инструмент, который отвечает за выполнение наборов тестов и составление отчётов о результатах. Jest включает в себя встроенное средство запуска тестов, которое может запускать наборы тестов параллельно, обеспечивая более быстрое и эффективное тестирование.
Основные функции test runner
в Jest:
- Выполнение тестов: Запускает наборы тестов, определенные в вашем проекте.
- Параллельное выполнение: Запускает тесты параллельно для ускорения процесса тестирования.
- Сбор результатов: Собирает результаты выполнения тестов, включая информацию о пройденных и непройденных тестах.
- Составление отчётов: Генерирует отчёты о результатах тестирования в различных форматах, таких как JSON, HTML, и других.
- Интеграция с CI/CD: Может быть интегрирован с системами непрерывной интеграции и доставки (CI/CD) для автоматического запуска тестов.
- Настройка: Может быть настроено с помощью параметров конфигурации в файле
jest.config.js
илиpackage.json
.
Пример настройки test runner
в Jest:
module.exports = {
// Другие настройки Jest
testRunner: 'jest-circus/runner', // Использование другого средства запуска тестов
reporters: ['default', 'jest-junit'], // Использование дополнительных репортеров
testEnvironment: 'jsdom', // Установка тестовой среды
testMatch: ['**/__tests__/**/*.js?(x)', '**/?(*.)+(spec|test).js?(x)'], // Установка шаблонов для поиска тестов
testPathIgnorePatterns: ['/node_modules/'], // Игнорирование определенных путей
collectCoverage: true, // Сбор покрытия кода
coverageReporters: ['json', 'html'], // Форматы отчётов о покрытии
};
{
"jest": {
"testRunner": "jest-circus/runner",
"reporters": ["default", "jest-junit"],
"testEnvironment": "jsdom",
"testMatch": ["**/__tests__/**/*.js?(x)", "**/?(*.)+(spec|test).js?(x)"],
"testPathIgnorePatterns": ["/node_modules/"],
"collectCoverage": true,
"coverageReporters": ["json", "html"]
}
}
Пояснение:
testRunner
: Указывает, какое средство запуска тестов использовать. По умолчанию используетсяjest-circus/runner
.reporters
: Указывает, какие репортеры использовать для составления отчётов. По умолчанию используетсяdefault
, но можно добавить другие, например,jest-junit
.testEnvironment
: Указывает тестовую среду. По умолчанию используетсяjsdom
для браузерных тестов, но можно использоватьnode
для серверных тестов.testMatch
: Указывает шаблоны для поиска тестовых файлов.testPathIgnorePatterns
: Указывает пути, которые следует игнорировать при поиске тестов.collectCoverage
: Включает сбор покрытия кода.coverageReporters
: Указывает форматы отчётов о покрытии.