Thanks, Daphne! Excuse me if I sound dense, but by test runner html file, do you mean the html file with the markup for the page I'm testing? If so, I'm not sure where the test is included, since I don't believe that it's to be included in the head of the html file, but of course, it is running on my local npm server. I did try taking the controller code out of the separate js file it was living in, and move it to the <head> tag, but that didn't fix it.
Whaddyafink? Thanks again! D On Tuesday, May 27, 2014 10:41:11 PM UTC-7, Daphne Maddox wrote: > > 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 angular+unsubscr...@googlegroups.com. To post to this group, send email to angular@googlegroups.com. Visit this group at http://groups.google.com/group/angular. For more options, visit https://groups.google.com/d/optout.