Должен ли я использовать 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.
Вот отличный пост в блоге с дополнительной информацией.