Загрузка ngMock только в контексте тестирования при использовании Protractor

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

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

1 ответ

Вы можете использовать grunt-targetthtml или gupl-targetthtml, так что 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)-->

Сначала настройте задачу grunt для выполнения 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);
    });

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

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