2013-03-29 12 views
20

Próbuję wstrzyknąć $scope do testu jaśminowy, ale dostać wyjątkiem

Unknown provider: $rootscopeProvider <- $rootscope 

mój plik Spec to:

describe("with data returned from NormDefinitions API", function() { 
    const dummyData = [ 
     {"Id": 1, "Name": "Name 1", "Description": "Description 1"}, 
     {"Id": 2, "Name": "Name 2", "Description": "Description 1"} 
    ]; 

    var $scope, 
     mockService = { 
      query: function() { 
       return dummyData; 
      } 
     }; 

    beforeEach(inject(function ($rootscope) { 
     $scope = $rootscope.$new(); 
    })); 

    it("it can be instantiated", inject(function($controller) { 
     var controller = $controller("NormDefinitionsController", 
      { 
       $scope: $scope, 
       myService : mockService 
      }); 

     expect(controller).not.toBeNull(); 
    })); 
}); 

Co am Tęksnię?

THanks

Dave

+4

'$ rootScope' z kapitałem' S'? –

+0

@MarkRajcok Dziękuję, dziękuję, dziękuję !!! Jeśli chcesz dodać ją jako odpowiedź, oznaczy ją jako poprawną. – BanksySan

+3

Dlaczego jest zamknięta, ponieważ jest zbyt zlokalizowana? Jest to typowa literówka z popularnym frameworkiem. Natknąłem się na to pytanie z powodu dokładnie tego samego błędu, a 3 aweroty sugerują, że inni zrobili to samo. – AndrewSwerlick

Odpowiedz

44

Typo (zdarza się każdemu z nas): $rootScope z kapitałem S.

Czasami ludzie zapominają wstrzykiwać to. Wtedy otrzymasz ten błąd:

ReferenceError: $rootScope is not defined 
+0

Te odpowiedzi sprawiają, że czujesz się totalnym idiotą. (westchnienie) – Ganonside