Виджет вызывает ошибку типа в тесте Карма + Жасмин

Моя цель - настроить модульное тестирование для устаревшей кодовой базы стека MEAN, чтобы начать использовать TDD, и я новичок в настройке конфигурации тестирования. Наше приложение использует виджет Amplitude для некоторых наших пользовательских статистических данных. Он загружается через тег SCRIPT в заголовок нашего index.html и запускается в службе. Мы использовали амплитуду более месяца без проблем, но теперь, когда я пытаюсь запустить карму, если я не отключаю службу, я получаю эту ошибку, которая запускается для каждого загружаемого мной файла, который использует службу:

18 11 2015 10:06:56.265:INFO [karma]: Karma v0.13.15 server started at http://localhost:8080/
18 11 2015 10:06:56.272:INFO [launcher]: Starting browser PhantomJS
18 11 2015 10:06:57.012:INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket 5YQAeA9e46_zw-ZyAAAA with id 72539271
PhantomJS 1.9.8 (Mac OS X 0.0.0) LOG: 'WARNING: Tried to load angular more than once.'

ERROR: 'Error: Raven has already been configured'
PhantomJS 1.9.8 (Mac OS X 0.0.0) Directive: elastic should make hidden element visible FAILED
TypeError: 'undefined' is not an object (evaluating '$window.amplitude.log = log')
    at Amplitude  (/path/to/app/client/app/services/amplitude/amplitude.service.js:9)

Если у меня отключена служба инициации амплитуды, я получаю это:

18 11 2015 09:47:09.612:INFO [karma]: Karma v0.13.15 server started at http://localhost:8080/
18 11 2015 09:47:09.619:INFO [launcher]: Starting browser PhantomJS
18 11 2015 09:47:10.346:INFO [PhantomJS 1.9.8 (Mac OS X 0.0.0)]: Connected on socket ugfCOHqeeav9hC-sAAAA with id 52254080
PhantomJS 1.9.8 (Mac OS X 0.0.0) LOG: 'WARNING: Tried to load angular more than once.'

ERROR: 'Error: Raven has already been configured'

Насколько я знаю, ошибка конфигурации Raven и угловая нагрузка более одного раза - это совершенно разные проблемы. Мой инстинкт заключается в том, что это связано с асинхронной загрузкой виджета, оставляя его "неопределенным" при выполнении тестов. Мне не удалось найти какие-либо полезные документы о том, как решить эту проблему. Буду признателен за любую оказанную помощь.

Обновить!

Исправлено: это была проблема с инициацией виджета в сервисе. Мне пришлось изменить свой индексный файл, чтобы включить инициацию виджета. Надеюсь, это поможет кому-то в будущем.

0 ответов

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