I haven't gone through the tutorial but that error message can be 
misleading.  It's the same one you get if the controller has *never* been 
defined, so you might want to verify that the file that contains the 
controller is included in your test runner html file *before* the test that 
tries to run it is included.

On Tuesday, May 27, 2014 9:26:45 PM UTC-7, dorono wrote:
>
> Hello there,
>
> I am an Angular newbie, and was going through the tutorial on the Angular 
> site (https://docs.angularjs.org/tutorial/), and noticed that although 
> the app seemed to be functioning properly, the code was failing the jasmine 
> unit test. 
>
> Here's what I'm getting in the log:
>
> Chrome 35.0.1916 (Mac OS X 10.9.3): Executed 1 of 2 (1 FAILED) (0 secs / 
> 0.02 seChrome 35.0.1916 (Mac OS X 10.9.3) PhoneCat controllers 
> PhoneListCtrl should set the default value of orderProp model FAILED
>
> Error: [ng:areq] Argument 'PhoneListCtrl' is not a function, got undefined
>
> Here's what's in my jasmine test file:
>
> 'use strict';
>
> /* jasmine specs for controllers go here */
>
> describe('PhoneCat controllers', function() {
>
>  describe('PhoneListCtrl', function(){
>
>     var scope, ctrl;
>
>    beforeEach(module('phonecatApp'));
>
>    beforeEach(inject(function($controller) {
>
>       scope = {};
>
>       ctrl = $controller('PhoneListCtrl', {$scope:scope});
>
>     }));
>
>    it('should create "phones" model with 3 phones', 
> inject(function($controller) {
>
>       expect(scope.phones.length).toBe(3);
>
>     }));
>
>   it('should set the default value of orderProp model', function() {
>
>       expect(scope.orderProp).toBe('age');
>
>     });
>
>   });
>
> });
> And here's what's in my controller:
> 'use strict';
>
> /* Controllers */
>
> var phonecatApp = angular.module('phonecatApp', []);
>
> phonecatApp.controller('PhoneListCtrl', function($scope) {
>   $scope.phones = [
>     {'name': 'Nexus S',
>      'snippet': 'Fast just got faster with Nexus S.',
>      'age': 1},
>     {'name': 'Motorola XOOMâ„¢ with Wi-Fi',
>      'snippet': 'The Next, Next Generation tablet.',
>      'age': 2},
>     {'name': 'MOTOROLA XOOMâ„¢',
>      'snippet': 'The Next, Next Generation tablet.',
>      'age': 3}
>   ];
>
>   $scope.orderProp = 'age';
> });
>
> Has anyone gone through the tutorial and had this same issue? 
>
> Thanks!
>
> Doron
>

-- 
You received this message because you are subscribed to the Google Groups 
"AngularJS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/angular.
For more options, visit https://groups.google.com/d/optout.

Reply via email to