2015-05-27 14 views
9

Kiedy próbuję użyć $ httpBackend.flush(); Otrzymuję błąd TypeError: $ browser.cookies nie jest funkcją. Nie mogę znaleźć żadnych informacji na temat tego rodzaju błędów i rozwiązań.Błąd podczas próby użycia jaśminu i kanciastą

describe("someText", function() { 
    var $httpBackend; 
    var someManager; 
    var authRequestHandler; 

    var dataMockup = []; 

    beforeEach(function(){ 
     module('app'); 

     inject(function($injector){ 
      $httpBackend = $injector.get('$httpBackend'); 
      someManager = $injector.get('someManager'); 

      authRequestHandler = $httpBackend.when('GET', 'someUrl.php') 
       .respond(dataMockup); 
     }); 
    }); 

    it('test first action', function() { 
     $httpBackend.expectGET('someUrl.php'); 
     messageManager.loadData(); 
     $httpBackend.flush(); // There i got error 
    }); 
}); 
  • kątowa: 1.3.15
  • Jasmine: 2.3.4
+0

Upewnij się, że masz również odpowiednią wersję kątowego pliku mocks. https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.15/angular-mocks.js – PSL

+1

@PSL, dzięki. Nie zauważyłem tego. – gregurco

Odpowiedz

17

wierzę używasz kątowych mocks dla wersji 1.4.x, a kod jest przy użyciu kątowej 1.3.15. Sprawdź, czy używasz makiet dla wersji, którą implementujesz w swojej aplikacji. Również zawsze dobrze jest podać plik konfiguracyjny testu jaśminu.