Sto tentando di scrivere alcuni test di unità con il Karma e sto ricevendo il seguente errore:
PhantomJS 1.9.8 (Mac OS X) ERRORE Errore : [$ injector: nomod] Module 'portfolioMockupApp.services' non è disponibile! Hai sbagliato a scrivere il nome del modulo o hai dimenticato di caricarlo. Se si registra un modulo, assicurarsi di specificare le dipendenze come secondo argomento. http://errors.angularjs.org/1.3.3/ $ iniettore/nomod? P0 = portfolioMockupApp.services a /Users/danielbogart/Documents/coding/work/portfolio-mockup/bower_components/angular/angular.js:1749
Inoltre, ho due file separati all'interno il modulo portfolioMockupApp.services, entrambi salvati nella directory scripts/services.
Karma.conf sezione file:
files: [
'bower_components/angular/angular.js',
'bower_components/angular-mocks/angular-mocks.js',
'bower_components/angular-animate/angular-animate.js',
'bower_components/angular-cookies/angular-cookies.js',
'bower_components/angular-resource/angular-resource.js',
'bower_components/angular-sanitize/angular-sanitize.js',
'bower_components/angular-touch/angular-touch.js',
'test/mock/**/*.js',
'test/spec/**/*.js',
'app/scripts/services/*.js',
'app/scripts/directives/*.js',
'app/scripts/controllers/*.js',
'app/scripts/app.js',
'node_modules/angular/angular.js',
'node_modules/angular-mocks/angular-mocks.js',
'./src/**/*.js',
'./test/**/*.js'
],
Portfolio.js spec (primo ed unico test attualmente):
'use strict';
describe('Controller: PortfolioCtrl', function() {
// load the controller's module
beforeEach(module('portfolioMockupApp', 'portfolioMockupApp.services'));
var PortfolioCtrl,
scope;
// Initialize the controller and a mock scope
beforeEach(inject(function ($controller, $scope, $log, $stateParams, $state,
$rootScope,portService, portfolioCreateService) {
scope = $rootScope.$new();
PortfolioCtrl = $controller('PortfolioCtrl', {
$scope: scope
});
}));
it('should have a list of 5 tabs by default', function() {
expect(scope.tabs.length).toBe(5);
});
});