Як запустити тести в браузері або тестування за допомогою karma і jasmine

Для організації тестування нам потрібно два інструменти - Jasmine, - фреймворк для написання тестів, і Karma. - інструмент для запуску цих тестів в браузері. Розглянемо кожен з цих інструментів трохи докладніше.

Karma test runner необхідний для запуску тестів в браузері на будь-якому доступному пристрої. Karma легко інтегрується з багатьма фреймворками для опису тестів (наприклад, той же Jasmine або Mocha) і дозволяє управляти процесом тестування не тільки з командного рядка, але і безпосередньо з IDE (наприклад, WebStorm від JetBrains).

Отже, приступимо. Для роботи нам буде потрібно встановити наступні npm-модулі: jasmine, karma, karma-jasmine і karma-chrome-launcher:

де karma-jasmine - адаптер для інтеграції Jasmine і Karma (в документації до karma-jasmine написано, що даний плагін входить до складу Karma за замовчуванням. Перевірка ж показала, що на даний момент це твердження помилкове і не заслуговує на увагу);
karma-chrome-launcher - плагін для автоматичного запуску браузера Chrome під час запуску тестів так само встановлюється окремо (якщо ви хочете протестувати ваш код в інших браузерах, то вам буде потрібно встановити відповідні плагіни для їх запуску).

Тепер, коли всі інструменти встановлені, створимо найпростіший конфиг для запуску тестів (файл karma.config.js):

де поле frameworks вказує на використовувані фрейворкі для тестування, browsers містить імена браузерів, в яких ми хочемо протестувати наш код, а files містить шаблони для пошуку файлів, які потрібно запустити при тестуванні. Більш докладно про налаштування Karma можна прочитати у відповідному розділі документації.

Для прикладу створимо найпростіший тест (файл example.test.js):

Тестування запускається командою з консолі:

Про те, як запустити тести безпосередньо з IDE WebStorm розповідається в наступному ролику: