# Documentation Django 3.1.9.dev

# Les tests dans Django

Les tests automatisés constituent un outil d’élimination des bogues extrêmement utile au service du développeur Web moderne. Vous pouvez utiliser un ensemble de tests, une suite de tests, pour résoudre ou éviter un certain nombre de problèmes :

- Lorsque vous écrivez du nouveau code, vous pouvez utiliser les tests pour valider que le code fonctionne tel qu’attendu.
- Lorsque vous retravaillez ou que vous modifiez du code ancien, vous pouvez utiliser les tests pour vous assurer que les modifications n’affectent pas de manière inappropriée le comportement de l’application.

Tester une application Web est une tâche complexe, car une application Web est composée de plusieurs couches de logique, de la gestion des requêtes au niveau HTTP jusqu’au traitement et à la validation des formulaires, en passant par le rendu des gabarits. Avec l’infrastructure d’exécution des tests de Django et ses utilitaires associés, vous pouvez simuler des requêtes, insérer des données de test, inspecter le résultat produit par l’application et plus généralement vérifier que le code fait ce qu’on attend de lui.

La manière privilégiée d’écrire des tests avec Django est d’utiliser le module `unittest` natif de la bibliothèque Python standard. C’est ce qui est détaillé dans le document Écriture et lancement de tests.

Vous pouvez aussi utiliser n’importe quel autre infrastructure de test ; Django offre une API et des outils pour de genre d’intégration. Ils sont documentés dans la section Utilisation d’autres infrastructures de test de Thématiques de tests avancées.

- Écriture et lancement de tests
- Outils de test
- Thématiques de tests avancées