Développement piloté par les tests en Python
614 pages
French
PDF
4.5

Développement piloté par les tests en Python

Développement piloté par les tests en Python

Auteur :

Année :

Résumé :

Introduction

Le livre de Harry Percival « Test-Driven Development with Python » (en traduction russe — « Разработка через тестирование на Python ») n'est pas simplement un énième manuel sur Python. C'est un guide pratique complet qui plonge le lecteur dans l'univers du Test-Driven Development (TDD) à travers la création d'une application web réelle. Publié en 2017 (deuxième édition), le livre reste pertinent aujourd'hui, en particulier pour ceux qui souhaitent maîtriser les pratiques professionnelles de développement en Python avec Django et Selenium.

L'auteur, Harry Percival, ingénieur principal chez PythonAnywhere, est reconnu pour son expertise en matière de tests et de développement web. Il ne se contente pas d'expliquer la théorie ; il guide le lecteur pas à pas, d'un répertoire vide à une application entièrement fonctionnelle et testée.

De quoi parle ce livre ?

Le livre est consacré à la méthodologie Test-Driven Development (développement piloté par les tests) appliquée au développement web en Python. Le projet principal est la création d'une application simple de listes de tâches (To-Do lists) basée sur Django. Cependant, la véritable valeur du livre ne réside pas dans le projet lui-même, mais dans le processus : vous apprendrez à écrire des tests avant d'écrire le code, et vous verrez comment cela transforme l'architecture et la qualité du produit final.

Le livre couvre :

  • Les bases du TDD : rouge-vert-refactorisation (Red-Green-Refactor).
  • Les tests fonctionnels avec Selenium.
  • Les tests unitaires pour Django (modèles, vues, formulaires).
  • Les tests JavaScript avec QUnit et Sinon.js.
  • L'intégration continue (CI) avec Travis CI.
  • Le déploiement sur serveur (PythonAnywhere, Heroku).
  • La gestion des bases de données, les migrations et les fixtures de test.
  • Les objets Mock et les tests de services externes.

À qui s'adresse ce livre ?

Le livre s'adresse aux développeurs déjà familiarisés avec les bases de Python et ayant une connaissance élémentaire des frameworks web (de préférence Django, mais ce n'est pas obligatoire). Si vous :

  • souhaitez écrire un code plus fiable et maintenable ;
  • en avez assez du « débogage par print » et voulez automatiser les vérifications ;
  • envisagez de travailler dans une équipe où le TDD est la norme ;
  • voulez comprendre comment tester non seulement le backend, mais aussi le frontend (JavaScript) ;

— ce livre est pour vous. Les débutants en Python auront des difficultés : l'auteur suppose que vous savez installer des paquets, travailler avec un environnement virtuel et comprendre les bases de la POO.

Que va apprendre le lecteur ?

Après avoir lu ce livre, vous serez capable de :

  • Écrire des tests avant le code et voir comment cela accélère le développement.
  • Utiliser Selenium pour simuler les actions de l'utilisateur dans le navigateur.
  • Tester des applications Django à tous les niveaux : des modèles aux templates.
  • Refactoriser le code en toute confiance, sachant que les tests détecteront les régressions.
  • Configurer l'IC/CD pour l'exécution automatique des tests.
  • Travailler avec Git dans le contexte du TDD (commits fréquents, modifications atomiques).
  • Écrire des tests pour JavaScript et les intégrer dans le processus global.

Points forts du livre

1. Orientation pratique. Vous ne lisez pas simplement de la théorie — vous écrivez du code avec l'auteur. Chaque chapitre contient des étapes concrètes, des commandes dans le terminal et des explications.

2. Complexité progressive. Cela commence par un simple « Hello, world » dans les tests, et se termine par le déploiement sur un serveur de production avec HTTPS et fichiers statiques.

3. Projet réaliste. L'application de listes de tâches n'est pas un exemple jouet, mais un projet complet que vous pouvez étendre.

4. Couverture des outils modernes. Selenium, Django, Git, Travis CI, PythonAnywhere — tout cela est réellement utilisé dans l'industrie.

5. Explications détaillées. L'auteur ne se contente pas de donner des commandes ; il explique pourquoi c'est ainsi,

Recommendations