Тестирование в Angular 5

Один и наиболее важный шаг в разработке приложения - это его тестирование. Два таких инструмента и фреймворка, которые используются при тестировании Angular, - это Jasmine и Karma.

Жасмин и Карма

Jasmine - это среда тестирования javascript, которая поддерживает практику разработки программного обеспечения, называемую Behavior Driven Development, или сокращенно BDD. Он разработан таким образом, что любой может понять, какая функциональность тестируется, просто прочитав его.

Тестирование жасмина состоит из следующего:

Функция describe(string, function) определяет то, что мы называем Test Suite, набор отдельных Test Specs. Функция it(string, function) определяет индивидуальный Test Spec, содержащий одно или несколько Test Expectations. Выражение expect(actual) - это то, что мы называем ожиданием. Вместе с Matcher он описывает ожидаемый элемент поведения в приложении. Выражение matcher(expected) - это то, что мы называем Matcher. Он выполняет логическое сравнение с переданным значением expected и значением actual, переданным в функцию expect, если они ложны, spec не работает.

Мы можем сами запускать тесты Jasmine в браузере, настроив и загрузив HTML-файл, но чаще мы используем инструмент командной строки под названием Karma. Karma обрабатывает процесс создания файлов HTML, открытия браузеров и запуска тестов, а также возвращает результаты этих тестов в командную строку.

По соглашению тесты, написанные на Jasmine, называются спецификациями. Все спецификации тестов должны находиться в каталоге src/app/ приложения, потому что именно там Karma ищет спецификации тестов. Если вы создаете новый компонент или службу, важно, чтобы вы поместили свои тестовые спецификации в тот же каталог, в котором находится код для компонента или службы.

Запуск тестов на angular-cli
ng test - команда ng test создает приложение в режиме просмотра и запускает средство запуска теста кармы.

Вывод консоли выглядит примерно так:

Вы можете изменить файлы spec.ts, чтобы добавить больше тестов, которые можно запустить с помощью ng test. Если вы хотите запустить конкретный тестовый файл, а не весь набор тестов, замените атрибут описания на fdescribe в ваших файлах spec.ts.

Так проводится простое тестирование в Angular. Следите за обновлениями !!