2015-04-02 3 views
2

Я относительно новичок в модульном тестировании, но теперь мне поручено написать тесты для существующей кодовой базы, которую я знаю достаточно хорошо.Единичное тестирование услуги в angularJS

К сожалению, я не могу добиться какого-либо прогресса, что бы никогда не находил действительно полезной документации.

Основным компонентом базового кода является службой для получения данных из API, но я не могу получить экземпляр модуля службы принадлежит:

TypeError: module is not a function in /home/faebser/workspace/GridSense-CMS-App/dev/test/unit/api.test.js (line 13) 

карма конфигурации: http://sprunge.us/ObSP?js

тесты: http://sprunge.us/AJWL?js

карма выходные: http://sprunge.us/WYHI?bash

в чем проблема? почему я не могу получить экземпляр модуля?

Update1:

Я сумел загрузить мой модуль, переустановке той же версии угловых и угловых издевается. Но теперь я бегу в следующее сообщение об ошибке:

minErr/<@/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:63:12 
loadModules/<@/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:4138:15 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:323:11 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:4099:5 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:4025:11 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular-mocks/angular-mocks.js:2425:44 

мне удалось отследить ошибку сводятся к следующему:

"[$injector:modulerr] Failed to instantiate module ui.router due to:[$injector:nomod] Module 'ui.router' 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.http://errors.angularjs.org/1.3.15/$injector/nomod?p0=ui.routerminErr/<@http://localhost:9876/base/bower_components/angular/angular.js:63:12module/<@http://localhost:9876/base/bower_components/angular/angular.js:1774:[email protected]://localhost:9876/base/bower_components/angular/angular.js:1698:[email protected]://localhost:9876/base/bower_components/angular/angular.js:1772:1loadModules/<@http://localhost:9876/base/bower_components/angular/angular.js:4115:[email protected]://localhost:9876/base/bower_components/angular/angular.js:323:[email protected]://localhost:9876/base/bower_components/angular/angular.js:4099:5loadModules/<@http://localhost:9876/base/bower_components/angular/angular.js:4116:[email protected]://localho" 

Хорошо, просто забыл добавить UI-маршрутизатор карма-конфигурации.

ответ

0

Хорошо, мне удалось получить эту работу. Основная проблема заключалась странные сообщения об ошибках, Угловое дал мне:

minErr/<@/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:63:12 
loadModules/<@/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:4138:15 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:323:11 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:4099:5 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular/angular.js:4025:11 
[email protected]/home/faebser/workspace/GridSense-CMS-App/dev/bower_components/angular-mocks/angular-mocks.js:2425:44 

Чтобы обойти эту проблему, я использовал окно отладки карму и установить точку останова в angular.js: 63 в функции minErr (модуль, ErrorConstructor):

return new ErrorConstructor(message); 

Таким образом, вы можете увидеть аргументы и скомпилированное сообщение об ошибке. В конце я просто забыл добавить несколько зависимостей в файле конфигурации кармы.

2

Похоже, что угловой-макет не загружен.

Хорошо проверит ваш путь. На данный момент, для кармы это выглядит следующим образом:

-dev |-test/ |-js/ |-bower_components/ |-karma.conf

Потому что в karma.conf, у вас есть:

base: '', 
+0

хорошо, получил это, чтобы работать. Я использовал другую версию угловых и угловатых макетов. – faebser

Смежные вопросы