2012-06-27 4 views
1

Mon application django dispose d'un gestionnaire pour chaque fonctionnalité (par exemple, gestionnaire Salesinvoice pour créer/enregistrer/récupérer les modèles de facture avec validation). Ces gestionnaires sont utilisés dans les vues pour effectuer l'action souhaitée par l'utilisateur (par exemple, créer une facture).Bonne approche/conception pour désinstaller l'application django

  1. Afin d'assurer la fiabilité de l'application, Sera-ce suffisant pour UnitTest que les gestionnaires? Mon idée dans la conception ci-dessus est que si j'ai besoin je peux créer une interface en ligne de commande en utilisant le gestionnaire au lieu de l'interface web. Est-ce que cette conception de l'application est bonne pour garantir une application django fiable? demande de l'utilisateur -> Vues -> Handler (test unitaire uniquement le gestionnaire) -> Modèle

  2. * Y at-il bibliothèque python/django pour automatiser les tests de vues? * Mon objectif est d'assurer la fiabilité de l'application en faisant des tests automatisés autant que possible.

+0

Si vous ne testez pas les vues, tout votre code de traitement HTTP (qui extrait les paramètres de demande, convertit les formats, etc.) ne sera pas couvert. Cela dépend de la complexité de ce code. –

Répondre

1

Je ne comprends pas très bien ce que vous entendez par "gestionnaire". Est-ce une vue? Ou une fonction séparée qui accepte une demande? En ce qui concerne les outils de test, vous pouvez simplement utiliser une bibliothèque comme requests pour créer des demandes et vérifier les résultats. Il existe également un client de test intégré lors de l'utilisation du framework de test interne de Django. Si vous voulez réellement tester les vues dans votre navigateur, vous pouvez utiliser Selenium ou webdriver plus, qui est un wrapper pour Selenium qui le rend plus facile à utiliser.

liens potentiellement utiles:

+0

Le gestionnaire n'est pas une vue, le gestionnaire encapsule simplement la fonctionnalité dans une classe. En d'autres termes, un gestionnaire est composé de nombreuses fonctions connexes. par exemple. Le gestionnaire de facture commerciale aura des fonctions pour créer, obtenir, supprimer une facture. – 18bytes

+0

Peut-être que vous pourriez utiliser les vues génériques en classe pour les trucs CRUD? Pour créer des interfaces de ligne de commande, vous pouvez utiliser des commandes de gestion personnalisées, puis vous avez directement accès à l'ORM. –

+0

Merci pour les liens, et son utile. – 18bytes

Questions connexes