Загрузка 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
задача с target
e2e
/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