Jasmine предоставляет командный интерфейс (CLI), который позволяет запускать тесты и управлять настройками тестирования через терминал. CLI является важным инструментом для автоматизации процессов тестирования и упрощает запуск тестов в различных средах. CLI интерфейс помогает разработчикам интегрировать Jasmine в существующие рабочие процессы, включая использование в CI/CD пайплайнах, а также настройку различных параметров выполнения тестов.
Для начала работы с Jasmine через CLI необходимо установить саму библиотеку. Обычно используется Node Package Manager (npm) для установки Jasmine.
npm install --save-dev jasmine
После установки библиотеки можно инициализировать проект Jasmine, чтобы создать структуру тестов и конфигурационные файлы.
npx jasmine init
Эта команда создаст директорию spec для тестов и файл
конфигурации jasmine.json.
CLI команды Jasmine могут быть использованы для различных операций, от запуска тестов до настройки отчетности. Рассмотрим наиболее часто используемые команды:
Чтобы запустить все тесты, достаточно выполнить команду:
npx jasmine
По умолчанию тесты будут выполнены в каталоге spec, и
результат будет выведен в консоль.
Jasmine CLI позволяет указать определенные тесты или файлы, которые
нужно выполнить, с помощью параметра --spec:
npx jasmine --spec=path/to/testFile.spec.js
Также возможно запускать тесты, соответствующие регулярному
выражению, используя параметр --filter:
npx jasmine --filter="myFunction"
Этот параметр ограничивает запуск тестов только теми, что соответствуют фильтру (в данном примере — “myFunction”).
В случае необходимости использования другого файла конфигурации,
можно использовать параметр --config:
npx jasmine --config=path/to/otherConfig.json
Это полезно, если требуется запускать тесты с определенными параметрами или в другом окружении.
Для подробного вывода, который поможет при отладке, можно
использовать параметр --verbose. В этом режиме будет
выведена более полная информация о выполнении тестов.
npx jasmine --verbose
Этот режим позволяет отслеживать, какие именно тесты прошли, а какие — не прошли, а также выводит информацию о любых ошибках и ожиданиях.
Файл jasmine.json используется для хранения глобальных
настроек тестирования, таких как пути к тестам, настройки репортеров и
другие параметры. Стандартная структура этого файла выглядит так:
{
"spec_dir": "spec",
"spec_files": [
"**/*[sS]pec.js"
],
"helpers": [
"helpers/**/*.js"
],
"stopSpecOnExpectationFailure": false,
"random": false
}
spec_dir — директория, где находятся
файлы тестов.
spec_files — маски файлов тестов,
которые должны быть запущены. В приведенном примере все файлы с
расширением .spec.js или .Spec.js будут
включены в тестирование.
helpers — директория с вспомогательными
скриптами, которые загружаются перед запуском тестов.
stopSpecOnExpectationFailure — если
установлено значение true, выполнение тестов будет
остановлено при первой же ошибке в тестах.
random — включает или отключает
случайный порядок выполнения тестов, что помогает выявить возможные
ошибки в зависимости от порядка их выполнения.
Для автоматического перезапуска тестов при изменении исходных файлов
можно использовать параметр --watch. Эта функция полезна
при разработке, когда необходимо сразу видеть результат изменений:
npx jasmine --watch
После запуска этой команды тесты будут автоматически пересчитываться и выполняться каждый раз при сохранении изменений в тестах.
CLI интерфейс Jasmine хорошо интегрируется с различными инструментами CI/CD, такими как Jenkins, Travis CI, CircleCI и другими. Для интеграции с этими системами достаточно настроить запуск Jasmine через командную строку в конфигурационных файлах, например:
npx jasmine --config=ci/jasmine.json
Интеграция с репортерами и утилитами позволяет создавать более подробные отчеты о тестировании, генерировать HTML-отчеты или интегрировать их в системы мониторинга качества кода.
Для более комплексных задач, таких как запуск тестов с конкретными настройками или отчетами, можно использовать дополнительные параметры и флаги. Например, создание отчетов в формате JUnit:
npx jasmine --reporter=jasmine-reporters --junitreport
Эта команда сгенерирует отчет в формате XML, который можно загрузить в системы мониторинга.
Jasmine поддерживает подключение различных репортеров для вывода
информации о тестах. Репортеры могут генерировать отчеты в различных
форматах, таких как JSON, HTML, или JUnit. Для этого можно использовать
такие библиотеки, как jasmine-reporters или
karma-jasmine.
Пример использования репортера:
npm install --save-dev jasmine-reporters
После установки репортера его необходимо подключить в файле конфигурации:
{
"reporters": ["jasmine-reporters"]
}
Также можно запускать тесты с использованием конкретного репортера:
npx jasmine --reporter=jasmine-reporters
Jasmine CLI поддерживает дополнительные параметры, такие как:
--help: Выводит список всех доступных
команд и опций.--version: Выводит текущую версию
Jasmine.--require: Позволяет подключить
дополнительные модули или плагины перед запуском тестов.Эти параметры удобны для быстрого ознакомления с доступными командами и настройки окружения.
CLI интерфейс Jasmine является мощным инструментом для автоматизации процесса тестирования в JavaScript-проектах. Он предоставляет гибкость в настройке, запуске и отчетности, позволяя интегрировать тестирование в существующие процессы разработки и непрерывной интеграции.