Comment simuler une requête HTTP Post à partir d'un django vue sans modèle
Je suis en train d'écrire points de vue, pas tellement envie d'écrire des modèles tout de suite.
Mais j'ai besoin de tester mon programme en soumettant des requêtes post.
Comment simuler HTTP Post à partir de dans un django vue
Je suis conscient que urllib2 et httplib modules de python permettent beaucoup d'options, mais je suis à la recherche de quelque chose qui intègre élégamment dans le django points de vue.
U créer une méthode qui effectue un post, où voulez-vous l'appeler?
Mise à jour: Certaines des réponses de traiter avec les tests par l'envoi d'un courrier à ma demande. Que faire si je veux POSTER un service externe et de les traiter avec de la réponse POST. Comment puis-je le faire sans avoir à écrire de modèles.
OriginalL'auteur Lakshman Prasad | 2009-03-28
Vous devez vous connecter pour publier un commentaire.
Django a construit dans le maquette utilitaire Client qui peuvent imiter les demandes si elles sont à venir à partir d'un navigateur. Si vous n'avez pas besoin d'être complètement imiter un navigateur et vous voulez juste pour invoquer vos points de vue directement à partir de vos tests, pensez à utiliser un RequestFactory à la place.
OriginalL'auteur Joe Holloway
Pour de tels cas, je pense que RequestFactory est parfaitement adapté.
Il fonctionne comme django du client de test avec la différence qu'il vous permet de créer un objet de demande que vous pouvez utiliser n'importe où. Vous pouvez donc créer votre propre objet de requête et de le passer à votre vue ou de la forme pour le test.
J'aime cette méthode d'essai plus ensuite, en utilisant le client de test, car il est plus près de
pure
des tests unitaires. Qui est, le test d'un seul morceau de code. Si vous utilisez le client de test, il y a plus de couches ajoutées avant le code que vous effectuez le test est atteint.OriginalL'auteur Jonas Geiregat
Pour éviter la douleur de la création de l'objet de la requête, vous pouvez utiliser cette astuce sur Django extraits
OriginalL'auteur Steven Potter
Il semble que vous êtes à la recherche pour une unité de test ou un test d'acceptation. Jetez un oeil à unittest qui fait partie de la bibliothèque standard.
Rapide ad hoc sur les tests lors du développement d'applications web, j'aime utiliser curl. C'est un simple outil de ligne de commande qui facilement génère toutes sortes de requêtes HTTP. Vous pouvez POSTER une commande telle que:
Curl est disponible sur beaucoup de plates-formes. Check it out à http://curl.haxx.se/
OriginalL'auteur Ken Fox
Si vous êtes à la recherche à ce à partir du contexte de l'écriture unittests, vous pourriez envisager de créer l'objet de Demande vous-même et juste de l'appel de la fonction de visualisation en direct. On pourrait même s'en moquer, et tous les autres paramètres de la vue.
OriginalL'auteur ironfroggy