Ошибка Jasmine при использовании $httpBackend

Я использую Jasmine в Visual Studio с нахальным тестовым адаптером поверх AngularJs.

Я получаю эту ошибку при запуске теста:

  • Ошибка: Неожиданный запрос: GET /webapi/api/Map
  • Ошибка: Неудовлетворенные запросы: GET /webapi/api/Map/

оказание услуг:

var services = angular.module('mapService', ['ngResource']);
services.factory('mapService', ['$resource', 
function ($resource) {
    var objects = undefined;
    var res = $resource('/webapi/api/Map/', {}, {
        query: {
            method: 'GET',
            isArray: true
        }
    });
    return {
        getObjects: function (callback) {
            res.query(function(successResult) {
                objects = successResult;
            });
            return objects;
        }
    }
}]);

тест:

describe('testing the department controller', function () {
    var $scope, $location, mapController, $httpBackend, myMapService;

    beforeEach(module('app'));

    beforeEach(inject(function ($injector, $rootScope, $controller, _$httpBackend_, mapService) {
        $httpBackend = _$httpBackend_;
        $httpBackend.when('GET', '/webapi/api/Map/')
            .respond([jasonArray]);

        myMapService = mapService;
    }));
    afterEach(function () {
        $httpBackend.verifyNoOutstandingExpectation();
        $httpBackend.verifyNoOutstandingRequest();
    });

    it('should have objects', function () {
        $httpBackend.expect('GET', '/webapi/api/Map/');

        var objects = myMapService.getObjects(function (result) {
            objects = result;
        });
        $httpBackend.flush();
        expect(objects.length).toBeGreaterThan(0);
    });
});

Может ли кто-нибудь предложить, что мне не хватает?


person Andre    schedule 11.11.2014    source источник


Ответы (1)


Ошибка была в адресе:

Просто удалил косую черту в конце, и все заработало. $httpBackend.when('GET', '/webapi/api/Map')

person Andre    schedule 17.11.2014