Outils de développement¶
Les modules décrits dans ce chapitre vous aident à écrire des logiciels. Par exemple, le module pydoc
prend un module et génère de la documentation basée sur son contenu. Les modules doctest
et unittest
contiennent des cades applicatifs pour écrire des tests unitaires qui permettent de valider automatiquement le code en vérifiant que chaque résultat attendu est produit. Le programme 2to3 peut traduire du code Python 2.x en Python 3.x.
La liste des modules documentés dans ce chapitre est :
typing
— Prise en charge des annotations de type- PEPs pertinentes
- Alias de type
- NewType
- Appelable
- Génériques
- Types génériques définis par l'utilisateur
- Le type
Any
- Sous-typage nominal et sous-typage structurel
- Classe de données
pydoc
— Générateur de documentation et système d’aide en ligne- Python Development Mode
- Effects of the Python Development Mode
- ResourceWarning Example
- Bad file descriptor error example
doctest
— Exemples de tests interactifs en Pythonunittest
— Framework de tests unitaires- Exemple basique
- Interface en ligne de commande
- Découverte des tests
- Organiser le code de test
- Réutilisation d'ancien code de test
- Ignorer des tests et des erreurs prévisibles
- Distinguer les itérations de test à l'aide de sous-tests
- Classes et fonctions
- Classes et modules d'aménagements des tests
- Traitement des signaux
unittest.mock
— Bibliothèque d'objets simulacresunittest.mock
--- getting started- Utilisation de Mock ou l'art de singer
- Simulation des méthodes
- S'assurer de la bonne utilisation d'un objet
- Simulation des classes
- Naming your mocks
- Tracking all Calls
- Setting Return Values and Attributes
- Raising exceptions with mocks
- Side effect functions and iterables
- Mocking asynchronous iterators
- Mocking asynchronous context manager
- Creating a Mock from an Existing Object
- Patch Decorators
- Further Examples
- Mocking chained calls
- Partial mocking
- Mocking a Generator Method
- Applying the same patch to every test method
- Mocking Unbound Methods
- Checking multiple calls with mock
- Coping with mutable arguments
- Nesting Patches
- Mocking a dictionary with MagicMock
- Mock subclasses and their attributes
- Mocking imports with patch.dict
- Tracking order of calls and less verbose call assertions
- More complex argument matching
- Utilisation de Mock ou l'art de singer
- 2to3 — Traduction automatique de code en Python 2 vers Python 3
test
--- Regression tests package for Pythontest.support
--- Utilities for the Python test suitetest.support.socket_helper
--- Utilities for socket teststest.support.script_helper
--- Utilities for the Python execution teststest.support.bytecode_helper
--- Support tools for testing correct bytecode generation