I'm trying to write a test for my Angular controller, I'm using jasmine
karma
and angular-mocks
, but keeps on getting the error ReferenceError: Can't find variable: module
.
I had a bit of a search, but I already have the angular-mocks
in my bower.
What could I be missing here?
The following is my code:
#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')); })
UPDATE: Screenshot added for clarity
Besides installing angular-mocks
through bower, remember to add reference to angular-mocks.js
in your karma config file, like below
config.set({ basePath: '../', port: '8000', files: [ 'bower_components/angular/angular.js', 'bower_components/angular-mocks/angular-mocks.js', ... ]
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With