2015-10-04 14 views
5

Ich versuche, einen Dummy-Service in Anspruch nehmen Daten in Angular zu bekommen, ich ngMockE2E benutze und mein Code für die Mock sieht wie folgt aus:

(function() { 
    "use strict" 
    var app = angular 
     .module("productResourceMock", ["ngMockE2E"]); 

    app.run(function ($httpBackend) { 
     var products = [ 
      { 
       "productId": 1, 
       "productName": "mobile1", 
       "productCode": "heh4", 
       "releaseDate": "May 21, 2013", 
       "description": "very nice mobile", 
       "cost": 200, 
       "price": 300, 
       "category": "Electronics", 
       "tags": ["mobile", "electronic"], 
       "imageUrl": "images/img1.jpg" 
      }, 
      { 
       "productId": 2, 
       "productName": "mobile2", 
       "productCode": "heh4", 
       "releaseDate": "May 21, 2012", 
       "description": "not a nice mobile", 
       "cost": 100, 
       "price": 500, 
       "category": "Electronics", 
       "tags": ["mobile", "Electronic"], 
       "imageUrl": "images/img2.jpg" 
      }]; 

     var productUrl = "/api/products"; 
     $httpBackend.whenGet(productUrl).respond(products); 
    }); 

}()); 

I haben mein Controller definiert, und im Inneren, hat es diesen Code:

(function() { 
    "use strict" 
    angular 
     .module("productManagement") 
     .controller("ProductListCtrl", 
        ["productResource", 
         ProductListCtrl]); 

    function ProductListCtrl(productResource) { 
     var vm = this; 
     productResource.query(function(data){ 
     vm.products = data; 
     }); 
    } 
}()); 

und für meinen Dienst, der die REST-Anfragen sendet, ich diesen Code haben:

(function() { 
    "use strict" 
    angular 
     .module("common.services") 
     .factory("productResource", 
       ["$resource", productResource]); 


    function productResource($resource) { 
     return $resource("/api/products/:productId"); 
    } 
}()); 

bekomme immer noch diesen Fehler: Uncaught TypeError: $ httpBackend.whenGet ist keine Funktion.

Jede Hilfe ist willkommen, oder jede Klärung benötigt, lass es mich wissen.

Antwort

3

Antwort ist einfach: ersetzen whenGet mit whenGET

Seien Sie vorsichtig den http Verb in Großbuchstaben zu schreiben.

Siehe ngMock documentation

Verwandte Themen