2010-11-18 6 views
4

J'écris des tests unitaires pour une page qui utilise plusieurs boutons Soumettre pour contrôler le flux logique à travers mon application Django.Unité testant un formulaire Django contenant plusieurs boutons de soumission

Malheureusement, je n'arrive pas à comprendre comment obtenir la réponse pour retourner les valeurs de soumission dans le cadre de test unitaire. La documentation de tests unitaires Django post indique sa forme est la suivante:

post(path, data={}, content_type=MULTIPART_CONTENT, follow=False, **extra) 

Dans le cas d'un bouton Supprimer de la forme:

<input type="submit" name="delete" value="Delete" /> 

J'ai essayé de placer la valeur Supprimer comme les données c'est-à-dire:

response = self.client.post(url, {'name':'delete'}, follow=True) 

mais cela ne semble pas fonctionner. Je dois avoir les valeurs de nom afin d'exercer les chemins de code qu'ils déclenchent. Dans les vues, la logique prend la forme de:

if 'delete' in request.POST: 
    <do something> 

Je suppose que je utiliser ** en quelque sorte supplémentaire pour obtenir ces valeurs, mais je ne l'ai pas eu beaucoup de chance avec lui non plus.

Des suggestions?

Répondre

5

Le dictionnaire de données doit mapper les noms d'entrée aux valeurs. Dans votre cas, le nom est delete et la valeur est Delete. Donc, le dictionnaire devrait être:

{'delete': 'Delete'} 
+0

Cela l'a corrigé. Merci beaucoup. – Sinidex