2014-11-19 2 views
5

Ich möchte überprüfen, ob eine bestimmte Header in der Anfrage vorhanden ist. Dies ist der Artikel, der mir half, die Header zu finden.

http://jbavari.github.io/blog/2014/06/20/testing-interceptor-headers-in-angularjs/

Im Folgenden ist der Ausschnitt aus meinem Test. Dies gibt mir den Zugriff auf Header, aber das Problem ist (wird sein), erwartet die Header als eine Funktion, wenn ich die Anfragen flush, die mein Test implizit fehlschlägt.

$httpBackend 
 
    .expect('POST', 'https://www.someurl.com/login', 
 
     userObj, function (headers) { 
 
     expect(headers['content-type']).toBe('application/x-www-form-urlencoded'); 
 
     }) 
 
    .respond();

Irgendwelche Vorschläge?

Antwort

6

Ein paar Links haben mir geholfen.

Testing AngularJs' $http.defaults.headers.common if specific header is set

http://andrewfong.com/blog/2014/09/22/angularjs-testing-headers-with-whenget-expectget/

$httpBackend 
 
    .expect('POST', 'https://www.someurl.com/login', 
 
     userObj, function (headers) { 
 
     expect(headers['content-type']).toBe('application/x-www-form-urlencoded'); 
 

 
     // MUST return boolean 
 
     return headers['content-type'] === 'application/x-www-form-urlencoded'; 
 
     }) 
 
    .respond();

Verwandte Themen