Unité de test avec spy est un échec. Dit espion n'a jamais été appelé
C'est le code que je teste
eventsApp.factory('userData', ['userResource', function(userResource){
return{
getUser: function(userName, callback){
return userResource.get({userName:userName}, function(user){
if(callback)
callback(user);
});
};
}]);
Et c'est le Jasmin test pour elle
describe('userData', function(){
var mockUserResource;
beforeEach(module('eventsApp'));
beforeEach(function(){
mockUserResource = {get: function(){} };
module(function($provide){
$provide.value('userResource', mockUserResource);
});
});
it('should make a call to userResource.get with provided userName', inject(function(userData){
userData.getUser('Bob');
spyOn(mockUserResource, 'get');
expect(mockUserResource.get).toHaveBeenCalledWith({userName:'Bob'});
}));
});
Pourquoi est-ce une faute? Il dit
"Attendu espion pour avoir été appelé avec [ { nom d'utilisateur : 'Bob' } ]
mais il n'a jamais été appelé".
.toHaveBeenCalled()
échoue également.
OriginalL'auteur gaoban | 2014-03-03
Vous devez vous connecter pour publier un commentaire.
Ne devriez-vous pas jeu de l'espion avant de faire la demande?
EDIT: La Arrange-Loi-Valoir de motif 😉
OriginalL'auteur glepretre