Должен ли я использовать Protractor или Karma для моего сквозного тестирования?

Должен ли я использовать Protractor или Karma для моего сквозного тестирования?

Angular-seed использует Protractor/Selenium WebDriver для E2E, но в учебнике angular-phonecat используется карма.

Я читал, что мне следует использовать Karma для юнит-тестов и Protractor для E2E, что кажется неплохим, но я подумал, что попрошу здесь, чтобы узнать мнение других разработчиков.

1 ответ

Решение

Команда AngularJS рекомендует использовать Protractor, поскольку он собирается заменить бегуна угловых сценариев:

Angular Scenario Runner находится в режиме обслуживания. Если вы начинаете новый проект Angular, подумайте об использовании Protractor.

цитируется из документации AngularJs.

Учебник angular-phonecat был разработан давно (в основном в 2011 году) и еще не обновлялся для использования некоторых новых функций Angular, таких как Protractor.

РЕДАКТИРОВАТЬ

В документации по транспортиру - FAQ:

Почему и карма и транспортир? Когда я использую что?

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

Вот отличный пост в блоге с дополнительной информацией.

Другие вопросы по тегам