2015-10-04 7 views
5

Sto cercando di fare un servizio fittizio per ottenere i dati in angolare, sto usando ngMockE2E, e il mio codice per la Falsa assomiglia a questo:

(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 hanno definito il mio controller, e al suo interno, ha questo codice:

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

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

e per il mio servizio che invia le richieste REST, ho questo codice:

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


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

sto ancora ricevendo questo errore: Uncaught TypeError: $ httpBackend.whenGet non è una funzione.

Qualsiasi aiuto è apprezzato, o qualsiasi chiarimento necessario, fatemelo sapere.

risposta

3

risposta è semplice: sostituire whenGet con whenGET

Fare attenzione a scrivere il verbo http tutto in maiuscolo.

Vedi ngMock documentation

Problemi correlati