Настройка окружения юнит тестирования Javascript

Настройка окружения юнит тестирования Javascript

Вначале была функция и вызывали ее в одном месте. Потом мы захотели вызвать ее в другом месте с новыми возможностями и обновили ее. Нам эта ф-ия так понравилась, что мы вызвали ее в третьем месте и еще сделали функциональные правки и… в первом месте что-то пошло не так. А как узнать? Проверять во всех местах где мы использовали эту функцию, все ли правильно работает? Можно, но лучше использовать unit тесты.

Как правильно тестировать свой код вы можете найти в первых строчках поисковика, а вот с настройкой окружения приходится повозиться. Так вот сегодня я хочу помочь начинающим разработчикам настроить окружение для unit тестирования своего кода.

Имеет смысл читать статью далее, если читатель освоил работу с npm или подобным менеджером пакетов.

Начнем с небольших определений:

  • unit-тестирование — это технология, цель которой уменьшить вероятность ошибок и побочных эффектов (когда при исправлении одного бага вносится другой баг).
  • karma — инструмент, позволяющий запустить java-script тесты в браузерах.
  • jasmine — фреймворк для тестирования javasctript кода.

В инструкции по установке Karma (как и во многих других) говорится, что пакеты следует установить в проекте локально.

Для удобства мы также можем установить глобально karma-cli npm install -g karma-cli, иначе из терминала команды будут доступна так ./node_modules/karma/bin/karma.После чего мы можем создать файл конфигурации:

  • Вначале у нас спросят используемый фреймворк для тестирования. ( jasmine )
  • Используем ли мы файловый/модульный загрузчик Require.js. ( Нет )
  • Какие браузеры мы хотим просматривать ( Chrome )
  • Какие файлы мы прослушиваем. ( *[Ss]pec.js )
  • Следует ли исключить какие-то файлы
  • Следить ли за изменениям тестов ( yes )

Ответив на вопросы, у нас появится файл конфигурации.

Файл конфигурации:

Создадим еще один файл с тестами:

Мы уже можем посмотреть как работает наш тест запустив команду karma start karma.conf.js, но я рекомендую немного подождать и сделать дополнительные надстройки.

Установим пакет npm i -D karma-jasmine-html-reporter, который в браузере динамически отобразит результаты тестов. Дополним конфиг кармы:

Теперь у нас все готово. Запускаем karma start karma.conf.js и приступаем к своему первому тестированию.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий