je vais avoir une fonction javascript en utilisant jquery:faire javascript rappel-ish fonction
my.namespace.loadSomeStuff = function() {
$.get('/Services/loadStuff', function(c){
$("#stuffDiv").html(c);
});
};
et essaie d'écrire des tests unitaires pour cela.
maintenant, puisque cette fonction ne retourne vraiment rien et en chargeant certains trucs asynchrones en utilisant 'get' de jquery j'ai du mal à tester ça.
essentiellement ce que je voudrais faire est d'appeler cette fonction, attendez jusqu'à ce qu'il retourne quelque chose, puis accéder aux éléments chargés de vérifier ... quelque chose comme:
my.namespace.loadSomeStuff(function(){
alert('boo');
assertSame('Login', $("#stuffDiv").find(......);
});
maintenant, je créé un en le modèle qui appelle le test unitaire, et il va charger et afficher correctement, mais l'alerte ou l'assertion ne sont jamais exécutées.
est-il un moyen que je peux faire cela sans ajouter une tonne de code supplémentaire pour chaque fonction que j'ai?
grâce t
ce que me dit que « le rappel n'est pas une fonction » est-il une autre façon que je dois invoquer cette fonction maintenant? –
Ah, oui, vous auriez besoin d'une vérification qu'un 'callback' a effectivement été passé, sinon le code qui ne fournissait pas de callback échouerait maintenant! Ajouté dans l'exemple de code ci-dessus. – bobince