karma-browserify с модульными тестами angularjs: конфликт имен в «модуле» вызывает ошибку «объект не является функцией»

У меня есть угловое приложение, которое я тестирую с помощью модульных тестов karma, и я пытаюсь добавить karma-browserify, чтобы мне могли требоваться модули npm в моих модульных тестах.

Как только я добавил препроцессор browserify в свой конфигурационный файл karma.conf.js, мои тесты начали ломаться, хотя я еще даже не пытался требовать каких-либо модулей.

Я получаю следующую ошибку:

object is not a function

Если я слежу за трассировкой, я увижу, что строка, вызывающая ошибку, находится в браузере, связанном с временным файлом js, при вызове «модуля».


person zayquan    schedule 13.08.2014    source источник


Ответы (1)


Только что увидел более старое сообщение с тем же вопросом, поэтому я ответил и там:
угловой фиктивный `модуль`, приводящий к '[Object object] is not a function'

Измените вызов для загрузки приложения в модульном тесте с:

beforeEach(module("app"))

to:

beforeEach(window.angular.mock.module("app"))

Это задокументированная здесь проблема, которая вряд ли будет исправлена:
https://github.com/xdissent/karma-browserify/issues/10 Надеюсь, это не будет стоить вам дня, как мне.

person zayquan    schedule 13.08.2014