unitest unitarios unit test pruebas karma javascript angularjs testing ionic-framework karma-jasmine

javascript - unitarios - ReferenceError: no se puede encontrar la variable: módulo en pruebas angulares



test unitarios ionic (2)

Estoy tratando de escribir una prueba para mi controlador angular, estoy usando jasmine karma y angular-mocks , pero sigue obteniendo el error ReferenceError: Can''t find variable: module .

He search un poco, pero ya tengo los angular-mocks en mi glorieta.

¿Qué podría estar perdiendo aquí?

El siguiente es mi código:

#controller angular.module(''cook_book_ctrl'', []) .controller(''cookBookCtrl'', function($scope, CookBook, CookBookRecipesService){ $scope.cookbookoptions = true; CookBook.list() .success(function(data){ $scope.recipeList = data; CookBookRecipesService.loadCookBookRecipes($scope.recipeList); }) .error(function(error){ }) }); #controller test describe(''CookBook controller spec'', function(){ var $httpBackend, $rootScope, createController, authRequestHandler beforeEach(module(''cook_book_ctrl'')); }) #bower.json { "name": "HelloIonic", "private": "true", "devDependencies": { "ionic": "driftyco/ionic-bower#1.0.0", "ionic-service-analytics": "master", "ionic-service-core": "~0.1.4", "angular-mocks": "1.3.13" }, "dependencies": { "ng-cordova-oauth": "~0.1.2", "ng-tags-input": "~2.3.0", "angular": "~1.4.0", "underscore": "~1.8.3", "materialize": "~0.97.0" }, "resolutions": { "angular": "~1.4.0" } } beforeEach(module(''cook_book_ctrl'')); })

ACTUALIZACIÓN: captura de pantalla para mayor claridad


Además de instalar angular-mocks través de bower, recuerda agregar referencia a angular-mocks.js en tu archivo de configuración de karma, como a continuación

config.set({ basePath: ''../'', port: ''8000'', files: [ ''bower_components/angular/angular.js'', ''bower_components/angular-mocks/angular-mocks.js'', ... ]


En mi caso, también se trataba del orden incorrecto de la ruta de los archivos en karma.conf.js.

Estaba:

// list of files / patterns to load in the browser files: [ ''tests/*.test.js'', // this should not be as first! ''bower_components/angular/angular.min.js'', ''bower_components/angular-mocks/angular-mocks.js'', ''app/*.js'', ],

Debiera ser:

// list of files / patterns to load in the browser files: [ ''bower_components/angular/angular.min.js'', ''bower_components/angular-mocks/angular-mocks.js'', ''app/*.js'', ''tests/*.test.js'' // now it''s cool ],

Tal vez lo obvio o tal vez no? ;-)