Есть ли пример приложения AngularJS, созданного Yeoman с тестами e2e и $httpBackend?

Есть ли где-нибудь пример приложения AngularJS, сгенерированного генератором yo angular, который имеет тесты e2e с $httpBackend из модуля ngMockE2E? Предпочтительно с одиночной и непрерывной версиями для CI и разработки.

Похоже, что использование $httpBackend требует создания нового приложения, которое зависит от исходного модуля приложения и модуля ngMockE2E, и требует нового файла index.html, который загружает это новое приложение.

Если в тестах используется другое приложение, означает ли это, что мне следует изменить конфигурацию, чтобы файлы, сгенерированные для тестов, хранились в другом месте, а не в файлах, сгенерированных командой grunt server (.tmp), или эти файлы будут точно такими же? Я хотел бы иметь возможность запускать grunt-сервер для разработки при выполнении тестов e2e в фоновом режиме с помощью PhantomJS.

Кто-нибудь создал задачу, которая автоматически генерирует модифицированный файл index-e2e.html на основе index.html? Таким образом, он всегда будет актуальным, и его также можно будет использовать с часами для автоматической регенерации при каждом изменении исходного файла index.html.


person szimek    schedule 24.10.2013    source источник


Ответы (1)


Вы должны заметить, что angular отказывается от e2e в пользу транспортира. Также обратите внимание, что e2e (и транспортир также) довольно медленный. поэтому непрерывная работа в фоновом режиме, как мы делаем с модульным тестированием, не рекомендуется. Тем не менее, на ваш вопрос - нет, вам не нужно другое приложение, индексный файл и т. д. (если вам не нужны данные о покрытии из e2e, в этом случае вам нужно будет инструментировать файлы js, и для этого потребуется другой индекс .html, который можно создать в задаче grunt с помощью sed). вам нужен другой файл karma.conf.js, другая задача grunt karma, чтобы ссылаться на нее, включая ng-scenario в разделе files файла karma.conf. и запуск какой-то задачи grunt testServer, которая запустит тестовый сервер, который не совпадает с сервером dev grunt. Вы можете запускать как с бригадиром, так и с чем-то подобным (как объясняется в этом SO [вопрос]. (Как я могу автоматизировать как E2E, так и модульные тесты с помощью Yeoman и AngularJS?) и ответить). Если это то, что вы ищете, вы можете найти пример karma.conf.js как для e2e, так и для модуля в этот PR. и опять же, не вкладывайте большие средства в текущий фреймворк e2e. лучше работать с новым и блестящим транспортиром

person alonisser    schedule 29.01.2014
comment
Спасибо. документы Angular утверждают, что Чтобы настроить приложение для работы с этим http-сервером , вам нужно создать модуль, который зависит от ngMockE2E и модулей вашего приложения и определяет фальшивый бэкэнд. Итак, мне нужно иметь отдельный файл index.html с этим новым приложением/модулем, чтобы использовать фальшивый бэкэнд? - person szimek; 30.01.2014