Тестовите случаи на Karma/Jasmine са неуспешни поради модул ngIdle

Грешка: [$injector:modulerr] Неуспешно създаване на модул ngIdle поради: Грешка: [$injector:nomod] Модулът „ngIdle“ не е наличен! Или сте написали грешно името на модула, или сте забравили да го заредите. Ако регистрирате модул, уверете се, че сте посочили зависимостите като втори аргумент.

Какво ми липсва? Ако не включа модула ngIdle и премахна кода за неговото внедряване, тогава всички мои тестове за карма/жасмин преминават, но с включен ngIdle всички мои 100+ тестови случая се провалят и дават горната грешка. Включих ngIdle в karma.conf.js в тази поръчка

files: [
'app/bower_components/angular/angular.js',
'app/bower_components/angular-route/angular-route.js',
'app/bower_components/angular-touch/angular-touch.js',
'app/bower_components/angular-animate/angular-animate.js',
'app/bower_components/angular-bootstrap/ui-bootstrap-tpls.min.js',
'app/bower_components/angular-mocks/angular-mocks.js',
'app/bower_components/angular-resource/angular-resource.js',
'app/bower_components/revolunet-angular-carousel/lib/angular-mobile.js',
'app/bower_components/revolunet-angular-carousel/src/angular-carousel.js',
'app/bower_components/jquery/dist/jquery.js',
'app/bower_components/angular-cookies/angular-cookies.min.js',
'app/bower_components/ng-idle/angular-idle.min.js',
'app/bower_components/ng-grid/ng-grid-2.0.11.min.js',
'app/js//*.js',
'test/spec//*.js'
 ],

По-долу е моят bower.json, така че да получите представа за версиите, които използвам, ако това е свързано

{
  "name": "combo",
  "version": "0.5.1",
  "dependencies": {
    "angular": "~1.3",
    "angular-route": "~1.3",
    "angular-touch": "~1.3",
    "angular-animate": "~1.3",
    "angular-resource": "~1.3",
    "angular-cookies": "~1.3",
    "angular-bootstrap": "~0.11.0",
    "revolunet-angular-carousel": "~0.2.2",
    "ng-grid": "~2.0.7",
    "ng-idle": "latest",
    "video.js": "~4",
    "highcharts": "~3.0.7",
    "jquery": "~2",
    "jquery-ui": "~1.10.4",
    "jqueryui-touch-punch": "git://github.com/furf/jquery-ui-touch-punch.git",
    "angular-snap": "~1.4.1",
    "snapjs": "latest"
  },
  "devDependencies": {
    "angular-mocks": "~1.3",
    "angular-scenario": "~1.3"
  },
  "resolutions": {
    "angular": "~1.2.10",
    "angular-touch": "~1.2.10",
    "jquery": "^1.8.0"
  }
}

person yoshi    schedule 30.07.2014    source източник


Отговори (1)


Трябва да добавите angular-idle.min.js към вашия karma.conf.js.

files: [
  //Configs
  'config.js',

  'lib/angular/angular.min.js',
  'lib/angular-mocks/angular-mocks.js',
  'lib/moment/moment.js',
  'lib/ng-idle/angular-idle.min.js',
  'lib/angular-moment/angular-moment.js',
  // ... another libraries
],
person Gustavo Cortez    schedule 01.08.2014
comment
Ясно съм написал във въпроса си, че съм добавил „app/bower_components/ng-idle/angular-idle.min.js“ в моя karma.conf.js и освен това функционалността на ng-idle също работи правилно в моето приложение. Само тестовете на кармата се провалят. - person yoshi; 01.08.2014