2014-01-27 6 views
5

Wie spöttest du $http, so dass beim Aufruf einer bestimmten URL die .error Funktion aufgerufen wird?

beforeEach(angular.mock.inject(function ($httpBackend) { 
    $httpBackend.when('GET', '/ErrorReturningURL').respond(/* report a 404 */); 
})); 

In meinem Komponententest werde ich nach einem bestimmten Funktionsaufruf zusehen.

Antwort

8

Sie können die alternative Form der .respond function auf dem von when Rückgabewert verwenden:

beforeEach(angular.mock.inject(function ($httpBackend) { 
    $httpBackend.when('GET', '/ErrorReturningURL').respond(404, ''); 
})); 

ich die Syntax function([status,] data[, headers]) für die respond Funktion verwenden. Daher muss ich das zweite Argument data explizit übergeben, um sicherzustellen, dass das erste Argument als status interpretiert wird.

Verwandte Themen