Le développement piloté par les tests avec GoLand
Le développement piloté par les tests, ou TDD (Test-Driven Development), est le processus de développement dans lequel les tests sont écrits en premier, puis le code pour les prendre en charge est créé et, lorsque chaque test réussit, le code est refactorisé.
Voyons comment les fonctionnalités uniques de GoLand nous permettent de gérer efficacement ce workflow.
Le workflow général du TDD ressemble à ceci :
- écriture des tests
- exécution des tests pour voir s’ils échouent
- écriture du code qui est ensuite soumis aux tests
- refactorisation du code
Écrire les tests
Commençons par écrire quelques tests en naviguant vers n’importe quel fichier de test, par exemple tdd_test.go
Pour générer les tests, nous pouvons utiliser la fonctionnalité Generate (Alt+Insert sur Windows/Linux ou Cmd+N sur macOS).
Here, we can choose the type of test we want to create – the classic type of test:
… or a test using the table-testing approach:
Dans la suite de cet article, je prends l’exemple d’un test de table car cela permet d’ajouter facilement des cas de test et maintient mon code propre.
Une fois nos cas de test ajoutés, notre code devrait ressembler à ceci :
Exécuter les tests pour voir s’ils échouent
L’utilisation de Run context configuration (Ctrl+Maj+F10 sur Windows/Linux ou Ctrl+Maj+R sur macOS) permettra d’exécuter nos tests.
Normalement, les tests devraient échouer, mais comme nous ne faisons aucune affirmation dans ce sens, l’outil Go rapportera qu’ils ont réussi.
Passons à l’étape suivante, générer du code, et voyons les résultats.
Écrire le code et lui faire passer les tests
Étant donné que nous n’avons encore rien exécuté dans les tests, ajoutons le code de base.
Beaucoup de gens préfèrent effectuer automatiquement des tests sur les modifications, surtout lorsqu’ils font du TDD, alors activons cette option dans l’EDI.
La prochaine étape consiste à implémenter notre code et à voir comment il fait échouer nos tests :
Refactoriser le code
Le code étant en place et opérationnel, nous pouvons le déplacer vers un fichier non-test et le nettoyer un peu. C’est là que les refactorisations de l’EDI tels que Move, Rename et autres entrent en jeu.
Tout d’abord, déplaçons le code vers un autre fichier :
Ensuite, faisons un peu de renommage et de nettoyage :
Au fil de ces refactorisations, nous pouvons constater que les tests réussissent toujours et que nous pouvons donc faire confiance aux refactorisations automatisées que l’EDI effectue pour nous.
Ceci conclut notre court article sur la façon d’utiliser GoLand pour le TDD dans Go, et au-delà. Nous vous invitons à nous faire part de vos retours dans les commentaires de cet article, sur notre outil de suivi des tickets ou sur Twitter à @GoLandIDE.
Auteur de l’article original en anglais : Florin Pățan