Sto provando a impostare il test dell'unità con Angular e ho colpito un po 'di un muro con l'iniezione nella configurazione del livello del modulo e nell'esecuzione dei metodi.Come simulare provider/config nella configurazione del modulo per il test dell'unità
Per esempio, se ho una definizione di modulo in quanto tale:
angular.module('foo', ['ngRoute', 'angular-loading-bar', 'ui.bootstrap']).config(function ($routeProvider, $locationProvider, datepickerConfig, datepickerPopupConfig) {
Karma mi sgrida perché non sono beffardo correttamente $ routeProvider, datepickerConfig, ecc con la seguente:
Error: [$injector:modulerr] Failed to instantiate module foo due to:
Error: [$injector:unpr] Unknown provider: $routeProvider
(e quindi se rimuovo $ routeProvider allora dice Provider sconosciuto: datepickerConfig e così via)
Ho anche il seguente codice in un beforeOach:
angular.mock.module('foo');
angular.mock.module('ngRoute');
angular.mock.module('ui.bootstrap');
E la seguente nei miei karma.conf.js:
'components/angular/angular.js',
'components/angular/angular-mocks.js',
'components/angular/angular-route.js',
'components/angular-ui/ui-bootstrap-tpls.js',
'app/*.js', // app code
'app/**/*.js',
'app/**/**/*.js',
'test/app/*.js', // app.js
'test/specs/*.js', // angular.mock.module calls
'test/**/*.js', // tests
'test/**/**/*.js'
Grazie per qualsiasi consiglio.
Hai capito come risolvere questo problema. Come si prende in giro l'ui-router? Si prega di aggiornare la domanda e aggiungere una risposta se è possibile risolverlo. – aksinghdce