Les tests avec Python¶
Mocking¶
Générer des données aléatoires¶
Jouer avec les dates et les heures¶
Ressources¶
- Mock - Mocking and Testing Library — Mock 5.1.0 documentation
- pytest-dev/pytest-mock: Thin-wrapper around the mock package for easier use with pytest
- Understanding the Python Mock Object Library – Real Python
- Tout comprendre des mocks Python | Kaizen Solutions
Trucs et astuces¶
Dossier temporaire¶
Lorsque que la fonction que l'on souhaite tester doit écrire un fichier sur le disque, il peut être utile d'utiliser un dossier temporaire qui sera détruit à l'issue du test. Pour ce faire, on peut utiliser le module tempfile de la librairie standard :
from tempfile import TemporaryDirectory
with TemporaryDirectory() as d:
file_path = os.path.join(d, "my_file.txt")
# Use 'file_path' as a regular file...
Intégration à VS Code¶
.vscode/settings.json
{
"python.testing.pytestEnabled": true,
"python.testing.pytestPath": "${workspaceFolder}/venv/bin/pytest",
"python.testing.unittestEnabled": false,
}
Test Driven Development (TDD)¶
Behavior-driven development (BDD)¶
Event-driven architecture¶
Domain-driven design (DDD)¶
Ressources¶
- Une super série d'articles de Sam & Max qui aborde les tests unitaires, le module doctests, la librairie unittest et la librairie pytest.
- unittest --- Unit testing framework
- tox
- Les tests dans FastAPI :
- Les tests dans Django :