5

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

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

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

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

ответ

0

Вы должны заметить, что угловой размагничивающий e2e в пользу рамы транспортира. Также обратите внимание, что e2e (и транспортир также) довольно медленный. поэтому работать в фоновом режиме, как мы делаем с unittesting, не рекомендуется. Тем не менее, для вашего вопроса: нет, вам не нужно другое приложение, индексный файл и т. Д. (Если вам не нужны данные о покрытии из e2e, в этом случае вам нужно будет обрабатывать файлы js, и для этого потребуется другой индекс .html, который может быть создан в задаче grunt с помощью sed). вам нужен другой файл karma.conf.js, другая ссылка rarm karma задает его, включая ng-сценарий в разделе files файла karma.conf. и запускает какую-то задачу grunt testServer, которая будет запускать тестовый сервер, который не совпадает с сервером dev grunt. Вы можете запустить оба с мастером или что-то подобное (как объяснено в этом SO [вопрос]. (How can I automate both E2E and unit tests with Yeoman & AngularJS?) и ответ). Если это то, что вы ищете, вы можете найти пример karma.conf.js для обоих e2e единицей в this PR. и снова, не вкладывайте значительные средства в текущую структуру e2e. лучше работать новый и блестящий транспортир

+1

Спасибо. [Угловые документы] (http://docs.angularjs.org/api/ngMockE2E.$httpBackend) указывают, что _ «Чтобы настроить приложение для работы с этим HTTP-сервером, вам необходимо создать модуль, который зависит от ngMockE2E и вашего модулей приложений и определяет фальшивый бэкэнд. »_ Итак, нужен ли мне отдельный файл index.html с этим новым приложением/модулем для использования поддельного бэкэнда? – szimek