38 votes

Comment commencer à faire du TDD dans un projet django?

J'ai lu beaucoup d'essais parlant des bénéfices que le TDD peut apporter à un projet, mais je n'ai jamais pratiqué le TDD dans mon propre projet avant.

Maintenant, je commence un projet expérimental avec Django, et je pense peut-être pouvoir essayer le TDD.

Mais ce que je trouve maintenant, c'est que je ne sais même pas comment répondre à la question "que devrais-je mettre dans mes cas de test?".

S'il vous plaît, dites-moi comment je devrais planifier le TDD dans un projet, dans ce cas, un projet web basé sur Django.

Merci.

36voto

hwjp Points 3041

J'ai commencé à écrire un tutoriel sur le sujet. Il couvre à peu près toutes les étapes du tutoriel officiel de Django, et il inclut des tests complets d'automatisation de navigateur avec Selenium, pour que vous puissiez tester également le javascript...

http://tdd-django-tutorial.com/

(sources à https://github.com/hjwp/Test-Driven-Django-Tutorial)

[éditer 2013-04-15] J'écris maintenant un livre pour O'Reilly sur le sujet. À mon avis, il présente les choses de manière beaucoup plus claire que mon ancien tutoriel. Consultez-le à

http://www.obeythetestinggoat.com/

(c'est toujours gratuit si vous le souhaitez!)

23voto

Fraser Graham Points 2181

Votre première étape devrait être de lire la documentation des tests Django...

http://docs.djangoproject.com/en/dev/topics/testing/#topics-testing

Après cela, votre premier test devrait être aussi simple que

  • Créer un client de test
  • Émettre une requête pour votre page principale prévue
  • vérifier que le code de statut renvoyé est 200

maintenant exécutez votre test et regardez-le échouer car vous n'avez pas encore de page principale.

Maintenant, travaillez pour que ce test réussisse et répétez le processus.

3voto

Tudorizer Points 2647

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X