@summer_rain

Как в Protractor'е организовать тестирование backend запросов?

Имеется приложение на Angular. Как известно, для получения/отправки данных на сервер используется $httpBackend.

И я хочу при E2E тестировании этих запросов Protractor'ом использовать $httpBackend - mock .
Т.е. прогоняем тесты, Protractor нормально отрабатывает, запросы идут через рабочий $httpBackend, и при выполнении определенного теста (проверка отправки данных через форму) подсовывается $httpBackend - mock, PUT и GET идут через него (в базу данных на сервере тестовые данные от Protractor'а не скидываются).

Как это организовать?

Вот здесь тоже пытаются найти решение этой проблемы, но хорошее решение пока не найдено.
  • Вопрос задан
  • 484 просмотра
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
суть E2E тестов в тестировании всего, никаких моков и стабов (ну стабы можно для каких-то внешний сервисов типа фэйсбука, и то у них есть песочница). Что бы протестировать весь проход, от кнопок на UI до запросов в базу данных на сервере.

В рамках интеграционных тестов тестировать UI так же смысла не имеет. UI должен быть декларативным, а это значит что там нет инвариантов которые нужно покрывать тестами. То есть по сути нам надо покрывать тестами только сервисный слой и возможно контроллеры.

Если же вы уж очень хотите потестить UI в интеграционных тестах - ну ок, поднимите отдельный mock сервер которым вы будете управлять из тест сюиты. Благо их много.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы