Изменить глобальную переменную окна в тестах Angular 6 - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь протестировать сквозной процесс в приложении Angular 6, используя e2e и транспортир.У меня есть служба, которая внедряет некоторые javaScript в страницу, поэтому мои тесты проверяют, что скрипт был добавлен в DOM.

Проблема заключается в том, что служба проверяет объект конфигурации, который жестко закодирован в индексе..html файл.Мне нужно установить одно конкретное свойство в false, чтобы мои тесты выполнялись, но до сих пор мне не удалось найти способ подключиться к процессу инициализации приложения.

Я могу добраться до объекта, используя такой код:

browser.wait(
  browser.executeScript('return window.Config.local;')
         .then(promise => expect(promise).toBe(false)
), 5000);

Но вопрос в том, куда позвонить!

Я уделил некоторое время использованиюAPP_INITIALIZER, но единственный способ заставить его работать - это установить его в файл app.module.ts.Я бы предпочел не изменять его содержимое в целях тестирования.

Я был бы весьма признателен, если бы кто-нибудь имел представление о том, как получить объект window до полной инициализации приложения.Я потратил три полных дня на это сейчас и до сих пор не нашел решения ...

Спасибо!

...