0
Je suis en train de tester une fonction de service qui effectue de nombreux appels $http.get()
. La fonction réelle sous test renvoie une promesse. Actuellement, le test échoue avec response is undefined
.Impossible de lire la propriété de non défini dans le test de karma angulaire
Voici le test:
it('should return the list of catalogues', inject(function ($q, bookService) {
var list;
var deferred = $q.defer();
var promise = deferred.promise;
promise.then(function (response) {
list = response.success; // Cannot read property 'success' of undefined
});
bookService.getCatalogues().then(function (response) {
deferred.resolve(response); // this line is hit first
});
$httpBackend.flush();
expect(list).toEqual(listOfBooks); // listOfBooks is defined outside test
}));
Qu'est-ce que je fais mal?
Avez-vous vérifié que l'objet de réponse contient une propriété de succès? –
le paramètre de réponse dans les deux fonctions est null. –