En

JazzTeam Software Development Company

Agile Java Development

Мануал по запуску тестов при помощи Karma и Jasmine

Karma

Karma – это консольный инструмент для запуска тестов, который умеет следить за изменениями исходного кода и отображать процент покрытия кода тестами. Настраивается с помощью конфигурационного файла karma.conf.js, в котором нужно указать пути к файлам, которые будут тестироваться, и пути к файлам, содержащие тесты.

Консольные команды

karma init – создаёт базовый шаблон файла конфигурации. Его можно также скачать с репозитория.
karma start – запуск

Jasmine

Jasmine – фреймворк для написания js-тестов.
Основной синтаксис фреймворка:
describe() – оборачивает тесты в test-suite;
beforeEach() и afterEach() – соответственно запускаются для каждого теста;
it(‘название теста’, function(){}) – сам тест;
iit() и xit() – выделяют тест, чтобы прогнать только его или игнорировать его соответственно.

Пример теста

Установка и настройка компонентов

Скачивать компоненты мы будем с помощью пакетного менеджера npm, который входит в состав Node.js. Он также необходим для работы Karma.
После установки Node.js, переходим в корень проекта, вызываем консоль и поочерёдно выполняем команды. Все скачанные компоненты будут располагаться в каталоге node_modules.

Karma

npm install -g karma-cli
npm install phantomjs -g – эмулятор для тестирование javascript кода.
npm install karma-jasmine karma-chrome-launcher karma-phantomjs-launcher –save – karma-плагины для запуска тестов написанных на Jasmine, для запуска в браузерах Chrome и PhantomJS.
npm install angular-mocks – библиотека с mock-объектами для сервисов AngularJS. С их помощью мы сможем тестировать работу сервиса $http, не отправляя запросов на сервер.

Jasmine

npm install -g jasmine

Чтобы использовать фреймворк Jasmine, подключите к проекту следующие файлы:
jasmine.js — сам фреймворк;
jasmine-html.js — оформление результатов в виде HTML;
jasmine.css — внешний вид результата выполнения тестов.

Также можно использовать следующие команды:
jasmine init – инициализирует Jasmine проект;
jasmine examples – помещает в Jasmine проект примеры с тестами.

Настройка файла конфигурации Karma

Нужно убедиться, что для Karma прописана переменная среды ОС. Создадим файл с именем karma.conf.js. Для этого нужно в консоли выполнить команду
karma init karma.conf.js.

Пример файла karma.conf.js

Пример файла karma.conf.js

Параметры karma.config.js:

В скобках () для каждого параметра указано значение по умолчанию:
files([]) – список файлов для загрузки. Массив тех файлов, которые будут подключены в браузер для запуска тестов;
exclude([]) – список исключений для предыдущего пункта;
reporters([‘progress’]) – вариант вывода прогресса;
port(8080) – порт веб-сервера;
runnerPort(9100) – порт клиента;
colors(true) – включение/выключение цветов при выводе лога в консоль;
logLevel(LOG_INFO) – LOG_DISABLE|LOG_ERROR|LOG_WARN|LOG_INFO|LOG_DEBUG;
autoWatch(false) – выполнение тестов при изменении файлов;
browsers([]) – Chrome, ChromeCanary, Firefox, Opera, Safari, PhantomJS;
captureTimeout(5000) – задание таймаута в миллисекундах;
singleRun(false) – для одноразового запуска;
preprocessors({}) – список обработчиков, которые будут применены к файлам, до загрузки в браузер.

Запуск

В консоли выполним команду karma start.

, , ,

Leave a Reply

Your email address will not be published. Required fields are marked *