Tutorials

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 :

 

É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).

TDD dans GoLand - 01 - menu generate

Here, we can choose the type of test we want to create – the classic type of test:

TDD dans GoLand - 02 - Créer un test classique

… or a test using the table-testing approach:

TDD dans GoLand - 03 - Générer un test de table

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 :

TDD dans GoLand - 04 - Cas de test

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.

TDD dans GoLand - 05 - Exécuter les tests sans code

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.

TDD dans GoLand - 06 - Ajout de code qui échoue

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.

TDD dans GoLand - 07 - Activer l'exécution automatique des tests

La prochaine étape consiste à implémenter notre code et à voir comment il fait échouer nos tests :

TDD dans GoLand - 08 - Ajout de bon code et réussite des 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 :

TDD dans GoLand - 09 - Déplacer le code vers un fichier non-test

Ensuite, faisons un peu de renommage et de nettoyage :

TDD dans GoLand - 10 - Refactorisation et nettoyage du code

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

image description