2013-11-27 3 views
0

Я пытаюсь начать писать модульные тесты для моего углового приложения и быстро ударить по стоп-блоку, так как я не уверен, как точно издеваться над моим сервисом. Мой сервис выглядит следующим образом: var services = angular.module ('myApp', ['ngResource']);Как издеваться над запросами, сделанными ngResource в Angular JS

services.factory('LogonFactory', function ($resource, $http) { 
     return $resource('/servicemen/logon/', {}, { 
      login: { 
       method: 'POST' 
      } 
     }) 
    }); 

Мой тест состоит, таким образом, далеко от:

describe('Logon', function() { 
    var mockUserResource, $httpBackend; 
    beforeEach(angular.mock.module('myApp')); 

    beforeEach(function() { 
     angular.mock.inject(function ($injector) { 
      $httpBackend = $injector.get('$httpBackend'); 
      mockLoginResource = $injector.get('login'); 
     }) 
    }); 

    describe('login', function() { 
     it('should call login function', inject(function (User) { 
      $httpBackend.expectGET('/servicemen/logon/') 
       .respond([{ 
       username: 'test' 
      }]); 

      var result = mockLoginResource.login(); 
      $httpBackend.flush(); 
      expect(result[0].username).toEqual('test'); 
     })); 

    }); 
}); 

Кроме того, я получаю ошибку Нет смыва !!! Спасибо заранее.

ответ

0

Рассмотрите возможность изменения строки 8 на mockLoginResource = $ injector.get ('LogonFactory');

Смежные вопросы