Ошибка тестирования кармы с образцом проекта angular-seed

Чтобы попробовать тестирование Karma при работе с Angular, я получаю проект angular-seed (https://github.com/angular/angular-seed.git) из github. При запуске "bower install" это почему-то не сработало, поэтому я просто вручную поместил файлы angular в предполагаемый каталог (скажем, из app.js).

Но после настройки (npm install и прочее) при запуске команды "npm" проблема (angular не определена) продолжала появляться. Однако с командой "npm test" возникла еще одна проблема (модуль не определен). Кто-нибудь понял, как это происходит? Большое спасибо.

1. ошибка при "npm start"

Chrome 35.0.1916 (Linux) controllers encountered a declaration exception FAILED
ReferenceError: module is not defined
    at null.<anonymous> (/home/administrator/文档/angular-seed/test/unit/controllersSpec.js:6:14)
    at /home/administrator/文档/angular-seed/test/unit/controllersSpec.js:5:1

(И еще 3 аналога)

2. ошибка при "старте кармы"

Chrome 35.0.1916 (Linux) ERROR
Uncaught ReferenceError: angular is not defined
at /home/administrator/文档/angular-seed/app/js/app.js:5

Chrome 35.0.1916 (Linux) ERROR
Uncaught ReferenceError: angular is not defined
at /home/administrator/文档/angular-seed/app/js/controllers.js:5


Chrome 35.0.1916 (Linux) ERROR
Uncaught ReferenceError: angular is not defined
at /home/administrator/文档/angular-seed/app/js/directives.js:6

И важная конфигурация кармы следующая:

files: [
  'app/test/*/*.js',
  'app/js/*.js'
],

person francox9    schedule 06.08.2014    source источник


Ответы (2)


d Я уже сталкивался с подобной проблемой, когда Карма не справилась с Uncaught ReferenceError: 'something' is not defined. Каждый раз он различается, когда-то это был jquery, иногда угловой. Я выяснил, что это не имеет ничего общего с конфигурацией Karma, а связано с браузером Chrome. Тесты работали только в FireFox, но не в Chrome или PhantomJS. Мой коллега сказал мне, что у определенной версии Karma есть эта проблема.

Так что попробуйте разные браузеры

person Jan Barta    schedule 06.08.2014

решение для 2. ошибки, когда karma start.

  • отредактируйте karma.config.js и внутри файлов: сначала добавьте путь к файлу angular.js, а затем добавьте / перечислите другие .js файлы

  • это уберет зависимость от angular. Сначала он добавит angular.js, поэтому все другие библиотеки, использующие angular.js, получат ссылку на него.

person samyak bhalerao    schedule 17.03.2015