До тех пор, пока пару дней назад мои модульные тесты работали хорошо, и мой код работал в браузере безупречно. Затем я заметил это после того, как добавил модуль заглушки под названием "профиль":
INFO [karma]: Karma v0.12.24 server started at http://localhost:9876/
INFO [launcher]: Starting browser PhantomJS
INFO [PhantomJS 1.9.7 (Mac OS X)]: Connected on socket 7W-0vnkWZaWxYYtwFrhT with id 9336780
PhantomJS 1.9.7 (Mac OS X) ERROR
Error: [$injector:nomod] Module 'profile' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
Теперь я понимаю, что это самая распространенная ошибка AngularJS на земле, и я довольно хорошо отлаживаю это, но для жизни меня я не могу уйти. Подробности:
- Код работает в браузере без ошибок.
-
Карма поднимает мои файлы таким образом:
'node_modules/angular/angular.js', 'node_modules/angular-mocks/angular-mocks.js', 'node_modules/angular-ui-router/release/angular-ui-router.js', 'node_modules/angular-bootstrap/ui-bootstrap.js', 'node_modules/angular-ui-form-validation/dist/angular-ui-form-validation.js', 'node_modules/angular-animate/angular-animate.js', 'client/app/**/*.js'
-
Основной модуль имеет зависимость от уже объявленного профиля.
- profile.js, profile.controller.js и profile.controller.spec.js - это заглушки, сгенерированные cg- angular -fullstack и не имеющие специального кода. Генератор по умолчанию прикрепляет все их в основном модуле, поэтому я изменил модуль для каждого в "профиль".
У меня полно идей. Если я не могу отладить это, мне придется предположить, что весь мой дизайн приложения ошибочен и перезапущен.: (