Haha, that's funny. :P Yeah, I had actually tried looking over that file, and even hard-coded the file name of my controller file into that list of files, but still no luck. It's so wierd, I have no clue why this would be happening.
So if anyone else has any ideas, I would be eternally grateful! Thanks! Doron On Wednesday, May 28, 2014 10:31:53 PM UTC-7, Daphne Maddox wrote: > > You're not dense but I was being dense! I just randomly for no good reason > assumed a mocha-like setup which is obviously not what's going on here. > Ignore my comment about a test runner file (and undo the changes you made > trying to interpret my silliness). > > This line in the karma configuration should be ensuring that your > controller is loaded before the tests: > https://github.com/angular/angular-phonecat/blob/step-2/test/karma.conf.js#L10 > > So I don't know what might be going wrong. Maybe someone can show how you > get into debug mode in karma or knows a typical reason that this would > happen in the tutorial. One way or the other signs are pointing to a > situation where your controller may not be (properly) registered prior to > the test executing. Sorry I can't be of more help, I'm a mocha chick. :( > > > On Wednesday, May 28, 2014 9:30:21 PM UTC-7, dorono wrote: >> >> 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 [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.
