Injiziert $stateParams und $Staat in Jasmin-angular js-test immer undefined

Schreibe ich eine Jasmin-test für meine DetailCtrl. Ich habe 10 json-Datei jeweils mit Dateinamen, wie diese

1.json
2.json
3.json

in meinem data-Ordner

Hier ist mein Detail Strg

backpagecontrollers.controller('DetailCtrl', function($scope, $stateParams, $http) {
  $http.get('data/' +  $stateParams.listingId + '.json').success(function(data) {
      $scope.extrainfo = data; 
  });
}); 

Den detail controller Holen jeder 1.json, 2.json, 3.json-Datei aus dem data-Ordner.

Hier ist ein Teil meiner route

.state('listingdetail', {
      url: "/listings/:listingId",
      templateUrl: "partials/detail.html",
      controller: 'DetailCtrl'
    })

Lässt den Kopf wieder auf die Probe, ich injiziert sowohl die $stateParams und die $state in den test.

Ich testen wollen, die für jedes json-Datei über die Bilder gibt es in meiner json-Datei.
Ich bin Einstellung der httpbackend zu Holen der lokalen host-url plus der listingId aus der $stateparams die ich konfiguriert als Teil der Strecken, sondern die listingId zurück, als undefined. Bin ich wohl zu injizieren etwas anderes in meinem test?

describe('Detail Ctrl', function() {

      var scope, ctrl, httpBackend, stateparams, listingId; 

      beforeEach(angular.mock.module("backpageApp"));
      beforeEach(angular.mock.inject(function($controller, $rootScope, _$httpBackend_,    $stateParams, $state) {
        httpBackend = _$httpBackend_;
        stateparams = $stateParams; 
        listingId = stateparams.listingId;

        httpBackend.expectGET('http://localhost:8000/#/listings/' + listingId).respond([{id: 1 }, {id: 2}, {id:3}, {id:4}, {id:5}, {id:6}, {id:7}, {id:8}, {id:9}, {id:10}]);
        scope = $rootScope.$new(); 
        ctrl = $controller("DetailCtrl", {$scope:scope}); 
      }));

       it('the images for each listing should exist', function() {
        httpBackend.flush(); 
        expect(scope.images).toBe(true)
      });
    });

Ich bin immer diese Fehlermeldung

Error: Unexpected request: GET data/undefined.json
    Expected GET http://localhost:8000/#/listings/undefined

InformationsquelleAutor Jngai1297 | 2014-01-23

Leave a Reply

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.