OUJOOD.COM
Je vous le dis franchement : tester son application à la main en cliquant partout est une perte de temps monumentale. Dès que vous modifiez une ligne de code, vous risquez de casser quelque chose ailleurs sans vous en rendre compte. Les tests automatisés sont là pour faire ce travail ingrat à votre place, en quelques secondes.
Pourquoi s'embêter à écrire des tests ?
L'idée n'est pas de se rajouter du travail, mais d'en gagner sur le long terme. Un bon test vous permet de dormir tranquille. Si votre code passe les tests, c'est qu'il fonctionne comme prévu. Si vous cassez une fonctionnalité en ajoutant une nouveauté, le test passera au rouge et vous saurez exactement où intervenir avant même que vos utilisateurs ne voient le bug.
La classe TestCase
Django s'appuie sur la bibliothèque standard de Python pour les tests, mais il y ajoute sa propre touche avec la classe TestCase. Son grand avantage est qu'elle crée une base de données de test vierge à chaque lancement. Vos vraies données ne risquent rien, et chaque test repart de zéro pour éviter les interférences.
from django.test import TestCase
class MonPremierTest(TestCase):
def test_calcul_simple(self):
# On vérifie que 1 + 1 font bien 2
self.assertEqual(1 + 1, 2)
Lancer les tests
Pour exécuter vos vérifications, tout se passe dans le terminal. Django va chercher tous les fichiers qui commencent par test_ dans vos applications et lancer les fonctions qu'ils contiennent. C'est un réflexe que vous devez prendre avant chaque mise en ligne.
python manage.py test
Si vous voyez un point (.), c'est que le test a réussi. Si vous voyez un F (Failure) ou un E (Error), il y a un problème à régler. Maintenant que vous avez compris le principe, nous allons passer aux choses sérieuses en apprenant à tester les modèles Django.
Par carabde | Mis à jour le 08/05/2026