Ich habe eine Fabrik, um eine Get-Anfrage auszuführen, möchte ich testen. Leider sagt mir der Karmatest, dass bei $ httpBackend keine Antwort definiert ist.AngularJS Jasmine testet bekommen-Anfrage
AngularJS 1.2.14, Jasmin 2.0, Karma 0.12.0
mein Modul Hier Ich möchte Test:
var appFactory = angular.module('appFactory', []);
appFactory.factory('boxListService', function($http){
return{
getList: function(){
return $http.get('/boxlist').then(function(result){
return result.data;
});
}
};
});
Mein Test ist dies:
describe('Module-Test', function() {
beforeEach(module('appFactory'));
it('should call $http.get in getList', inject(function (boxListService, $httpBackend){
$httpBackend.expectGET('/boxlist');
boxListService.getList();
$httpBackend.flush();
}));
});
Nachricht:
Error: No response defined !
at $httpBackend (D:/nodeJS/host/test_app/src/public/js/libs/angular/angular-mock.js:1206:13)
Ich schaute mir das etwa 5 mal an, bevor ich erkannte, dass die Antwort auch auf dem expectGET deklariert werden muss. Ich hatte den Eindruck, dass der einzige Ort, an dem es notwendig war, die Antwort zu geben. Ist es sicher zu sagen, dass man eine Antwort sowohl auf whenGET als auch auf expectGET geben muss? – binarygiant