Привет, я сейчас настраиваю некоторые модульные тесты с кармой и жасмином. И у меня возникают трудности с попыткой полностью протестировать ng-ресурс. Когда я выполняю команду scope.clients.query(), выполняется запрос. Но когда я пытаюсь сделать это в модульном тесте, это не удастся.Единичное тестирование углового ng-ресурса
Есть ли у кого-то похожие проблемы, и есть ли у кого-нибудь идеи, как решить эту проблему?
например.
var mockResponse = [[{
"name": "foo",
},{
"name": "foo",
}
];
describe("adserver module", function() {
//define module
beforeEach(module('someModule'));
describe("some controller", function() {
var scope, controller, $httpBackend;
var CTRL = 'someCtrl';
beforeEach(inject(function(_$httpBackend_, $rootScope, $controller) {
$httpBackend = _$httpBackend_;
scope = $rootScope.$new();
controller = $controller;
}));
afterEach(function() {
$httpBackend.verifyNoOutstandingExpectation();
$httpBackend.verifyNoOutstandingRequest();
});
beforeEach(function() {
//define requests and responses
$httpBackend.expectGET('/api/clients').respond(mockResponse);
//aplly controller
controller(CTRL, {
$scope: scope
});
// flush all request
$httpBackend.flush();
});
//SPECS
it('should contain clients', function() {
expect(typeof scope.clients).toBe('object');
expect(scope.clients.length).toBe(2);
});
it('scope should re-request', function() {
scope.clients.query(); /// will not work methode undefined
expect(scope.clients.length).toBe(2);
});
});
});