Monday, June 3, 2024
 Popular · Latest · Hot · Upcoming
38
rated 0 times [  39] [ 1]  / answers: 1 / hits: 24299  / 9 Years ago, fri, august 28, 2015, 12:00:00

In my sample app have I test runner like this



  <!DOCTYPE html>
<html xmlns=http://www.w3.org/1999/xhtml>
<head>
<title></title>
</head>
<body>
<!--angular-->
<script src=../../../Scripts/angular.min.js></script>
<!--jasmine-->
<img src=../../../Content/jasmine/jasmine_favicon.png />
<link href=../../../Content/jasmine/jasmine.css rel=stylesheet />
<script src=../../../Scripts/jasmine/jasmine.js></script>
<script src=../../../Scripts/jasmine/jasmine-html.js></script>
<script src=../../../Scripts/jasmine/boot.js></script>
<!--angular mocks-->
<script src=../../../Scripts/angular-mocks.js></script>
<!--app tests-->
<script src=../../FavoritesController.js></script>
<script src=FavoritesController.Tests.js></script>
</body>
</html>


FavoritesController:



  var module = angular.module('AngularSampleApp', []);
var FavoritesController = module.controller('FavoritesController', function favoritesController($scope) {
$scope.phones = [
{
'name': 'Nexus S',
'snippet': 'Fast just got faster with Nexus S.'
},
{
'name': 'Motorola XOOM™ with Wi-Fi',
'snippet': 'The Next, Next Generation tablet.'
},
{
'name': 'MOTOROLA XOOM™',
'snippet': 'The Next, Next Generation tablet.'
}
];

});


FavoritesController.Tests.js



describe('FavoritesController', function () {
beforeEach(module('AngularSampleApp'));
it('should create phones model with 3 phones', inject(function ($controller) {
var scope = {},
ctrl = $controller('FavoritesController', { $scope: scope });

expect(scope.phones.length).toBe(3);
}));
});


But I am getting:




TypeError: module is not a function




error after I run my tests. Am I missing something?


More From » angularjs

 Answers
10

You need to include angular-mocks.js after Jasmine otherwise functions like module or inject will not be defined.



Moreover you redefine module:



var module = angular.module('AngularSampleApp', []);


So either you rename the variable or put the code inside an IIFE.


[#65263] Wednesday, August 26, 2015, 9 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
devlin

Total Points: 474
Total Questions: 113
Total Answers: 100

Location: Sweden
Member since Fri, Apr 16, 2021
3 Years ago
devlin questions
Tue, Apr 27, 21, 00:00, 3 Years ago
Sat, Oct 31, 20, 00:00, 4 Years ago
Fri, Aug 28, 20, 00:00, 4 Years ago
;