2015-05-21 6 views
3

Я переключил все наши испытания вектора углов в E2E на ngMock, чтобы мы могли издеваться над нашими ресурсами/http-вызовами. Тем не менее, я не могу найти рекомендуемый метод для загрузки ngMock в этом сценарии.Загрузка ngMock только в тестовом контексте при использовании Protractor

Я не хочу включать сам сценарий в свое приложение, но я не вижу четкого метода с помощью транспортира для инъекции дополнительного элемента script или его динамической загрузки.

ответ

0

Вы можете сделать, это использовать grunt-targethtml или gupl-targethtml так в вашем index.html вы можете добавить условия, когда добавить скрипт или нет:

<!--(if target mock || e2e)><!--> 
    <script src="dev-mocks/mock-utils.js"></script> 
    <script src="dev-mocks/modules/authentication-service-mock.js"></script> 
    <!--<!(endif)--> 

сначала настроить задачу черновую выполнить targethtml задачу с targete2e/mock

grunt.registerTask(
    'e2e', 
    'Automated tests', 
    function(target) { 
     var tasks = [ 
      'clean:server', 
      'targethtml:e2e', 
      'concurrent:server', 
      'autoprefixer', 
      'connect:e2e' 
     ]; 
     return grunt.task.run(tasks); 
    }); 

Here является рабочим шаблон со всеми задачами, пакеты и логики пе cessary реализовать Protractor + CucumberJS + sugar-step (для легкой синхронизации асинхронной шаги казни), а также вводить фиктивные модули динамически, используя метод @Around из CucumberJS

+1

Я действительно не хочу ngMock где-нибудь в моих реальных шаблонов приложений, даже если это просто будет удалено в задаче gulp, но часть проблемы в том, что все в приложении загружено 'requirejs'. – helion3

+0

Более чистым способом является использование тэга тэгтл, иначе вам придется делать то, что таргетинг делает вручную, вы сказали, используя требуемые функции с конкретной задачей gulp и загружаете модули-макеты в свое угловое приложение вручную – Matho

 Смежные вопросы

  • Нет связанных вопросов^_^