Test runner (средство запуска тестов) в Jest — это инструмент, который отвечает за выполнение наборов тестов и составление отчётов о результатах. Jest включает в себя встроенное средство запуска тестов, которое может запускать наборы тестов параллельно, обеспечивая более быстрое и эффективное тестирование.

Основные функции test runner в Jest:

  1. Выполнение тестов: Запускает наборы тестов, определенные в вашем проекте.
  2. Параллельное выполнение: Запускает тесты параллельно для ускорения процесса тестирования.
  3. Сбор результатов: Собирает результаты выполнения тестов, включая информацию о пройденных и непройденных тестах.
  4. Составление отчётов: Генерирует отчёты о результатах тестирования в различных форматах, таких как JSON, HTML, и других.
  5. Интеграция с CI/CD: Может быть интегрирован с системами непрерывной интеграции и доставки (CI/CD) для автоматического запуска тестов.
  6. Настройка: Может быть настроено с помощью параметров конфигурации в файле 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"]
  }
}

Пояснение:

  1. testRunner: Указывает, какое средство запуска тестов использовать. По умолчанию используется jest-circus/runner.
  2. reporters: Указывает, какие репортеры использовать для составления отчётов. По умолчанию используется default, но можно добавить другие, например, jest-junit.
  3. testEnvironment: Указывает тестовую среду. По умолчанию используется jsdom для браузерных тестов, но можно использовать node для серверных тестов.
  4. testMatch: Указывает шаблоны для поиска тестовых файлов.
  5. testPathIgnorePatterns: Указывает пути, которые следует игнорировать при поиске тестов.
  6. collectCoverage: Включает сбор покрытия кода.
  7. coverageReporters: Указывает форматы отчётов о покрытии.

Назад