Сквозное тестирование, или E2E, — это форма тестирования, используемая для проверки того, что всё приложение работает как ожидается от начала до конца, то есть «end-to-end». E2E-тестирование отличается от модульного тестирования тем, что полностью отвязано от деталей реализации вашего кода. Обычно оно используется для валидации приложения способом, имитирующим взаимодействие пользователя с ним. Эта страница — руководство по началу работы со сквозным тестированием в Angular с помощью Angular CLI.
Настройка E2E-тестирования
Angular CLI загружает и устанавливает всё необходимое для запуска сквозных тестов Angular-приложения.
ng e2e
Команда ng e2e сначала проверит проект на наличие цели «e2e». Если она не найдена, CLI предложит выбрать e2e-пакет и проведёт через настройку.
Cannot find "e2e" target for the specified project.
You can add a package that implements these capabilities.
For example:
Cypress: ng add @cypress/schematic
Nightwatch: ng add @nightwatch/schematics
WebdriverIO: ng add @wdio/schematics
Playwright: ng add playwright-ng-schematics
Puppeteer: ng add @puppeteer/ng-schematics
Would you like to add a package with "e2e" capabilities now?
No
❯ Cypress
Nightwatch
WebdriverIO
Playwright
Puppeteer
Если нужного test runner нет в списке выше, пакет можно добавить вручную с помощью ng add.
Запуск E2E-тестов
После настройки приложения для сквозного тестирования ту же команду можно использовать для выполнения тестов.
ng e2e
Обратите внимание: в запуске тестов с любым из интегрированных e2e-пакетов нет ничего «особого». Команда ng e2e по сути просто запускает builder e2e. Всегда можно создать собственный custom builder с именем e2e и запускать его через ng e2e.
Дополнительная информация об инструментах сквозного тестирования
| Инструмент тестирования | Подробности |
|---|---|
| Cypress | Начало работы с Cypress |
| Nightwatch | Начало работы с Nightwatch |
| WebdriverIO | Начало работы с Webdriver.io |
| Playwright | Начало работы с Playwright |
| Puppeteer | Начало работы с Puppeteer |