{"id":34250,"date":"2020-03-20T10:25:11","date_gmt":"2020-03-20T09:25:11","guid":{"rendered":"https:\/\/blog.jetbrains.com\/fr\/?p=575"},"modified":"2020-03-20T10:25:11","modified_gmt":"2020-03-20T09:25:11","slug":"le-developpement-pilote-par-les-tests-avec-goland","status":"publish","type":"post","link":"https:\/\/blog.jetbrains.com\/fr\/2020\/03\/20\/le-developpement-pilote-par-les-tests-avec-goland\/","title":{"rendered":"Le d\u00e9veloppement pilot\u00e9 par les tests avec GoLand"},"content":{"rendered":"Le d\u00e9veloppement pilot\u00e9 par les tests, ou TDD (Test-Driven Development), est le processus de d\u00e9veloppement dans lequel les tests sont \u00e9crits en premier, puis le code pour les prendre en charge est cr\u00e9\u00e9 et, lorsque chaque test r\u00e9ussit, le code est refactoris\u00e9.\r\n\r\nVoyons comment les fonctionnalit\u00e9s uniques de GoLand nous permettent de g\u00e9rer efficacement ce workflow.\r\n\r\nLe workflow g\u00e9n\u00e9ral du TDD ressemble \u00e0 ceci\u00a0:\r\n\r\n\t\u00e9criture des tests\r\n\tex\u00e9cution des tests pour voir s'ils \u00e9chouent\r\n\t\u00e9criture du code qui est ensuite soumis aux tests\r\n\trefactorisation du code\r\n\r\n&nbsp;\r\n\u00c9crire les tests\r\nCommen\u00e7ons par \u00e9crire quelques tests en naviguant vers n'importe quel fichier de test, par exemple tdd_test.go\r\n\r\nPour g\u00e9n\u00e9rer les tests, nous pouvons utiliser la fonctionnalit\u00e9 Generate (Alt+Insert sur Windows\/Linux ou Cmd+N sur macOS).\r\n\r\n\r\n\r\nHere, we can choose the type of test we want to create \u2013 the classic type of test:\r\n\r\n\r\n\r\n\u2026 or a test using the table-testing approach:\r\n\r\n\r\n\r\nDans 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.\r\n\r\nUne fois nos cas de test ajout\u00e9s, notre code devrait ressembler \u00e0 ceci\u00a0:\r\n\r\n\r\nEx\u00e9cuter les tests pour voir s'ils \u00e9chouent\r\nL'utilisation de Run context configuration (Ctrl+Maj+F10 sur Windows\/Linux ou Ctrl+Maj+R sur macOS) permettra d'ex\u00e9cuter nos tests.\r\n\r\n\r\n\r\nNormalement, les tests devraient \u00e9chouer, mais comme nous ne faisons aucune affirmation dans ce sens, l'outil Go rapportera qu'ils ont r\u00e9ussi.\r\n\r\nPassons \u00e0 l'\u00e9tape suivante, g\u00e9n\u00e9rer du code, et voyons les r\u00e9sultats.\r\n\u00c9crire le code et lui faire passer les tests\r\n\u00c9tant donn\u00e9 que nous n'avons encore rien ex\u00e9cut\u00e9 dans les tests, ajoutons le code de base.\r\n\r\n\r\n\r\nBeaucoup de gens pr\u00e9f\u00e8rent effectuer automatiquement des tests sur les modifications, surtout lorsqu'ils font du TDD, alors activons cette option dans l'EDI.\r\n\r\n\r\n\r\nLa prochaine \u00e9tape consiste \u00e0 impl\u00e9menter notre code et \u00e0 voir comment il fait \u00e9chouer nos tests\u00a0:\r\n\r\n\r\nRefactoriser le code\r\nLe code \u00e9tant en place et op\u00e9rationnel, nous pouvons le d\u00e9placer vers un fichier non-test et le nettoyer un peu. C'est l\u00e0 que les refactorisations de l'EDI tels que Move, Rename et autres entrent en jeu.\r\n\r\nTout d'abord, d\u00e9pla\u00e7ons le code vers un autre fichier\u00a0:\r\n\r\n\r\n\r\nEnsuite, faisons un peu de renommage et de nettoyage\u00a0:\r\n\r\n\r\n\r\nAu fil de ces refactorisations, nous pouvons constater que les tests r\u00e9ussissent toujours et que nous pouvons donc faire confiance aux refactorisations automatis\u00e9es que l'EDI effectue pour nous.\r\n\r\nCeci conclut notre court article sur la fa\u00e7on d'utiliser GoLand pour le TDD dans Go, et au-del\u00e0. Nous vous invitons \u00e0 nous faire part de vos retours dans les commentaires de cet article, sur notre outil de suivi des tickets ou sur Twitter \u00e0 @GoLandIDE.\r\n\r\nAuteur de l'article original en anglais :\u00a0Florin P\u0103\u021ban","protected":false},"excerpt":{"rendered":"Le d\u00e9veloppement pilot\u00e9 par les tests, ou TDD (Test-Driven Development), est le processus de d\u00e9veloppement dans lequel les tests sont \u00e9crits en premier, puis le code pour les prendre en charge est cr\u00e9","protected":false},"author":{"name":"Delphine Massenhove","link":"https:\/\/blog.jetbrains.com\/fr\/author\/delphine-massenhovejetbrains-com"},"featured_media":34251,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[2347],"tags":[5448],"cross-post-tag":[],"acf":[],"featured_image":"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2020\/03\/fr-D\u00e9veloppement-pilot\u00e9-par-les-tests-avec-GoLand.jpg","_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/posts\/34250"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"},{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=34250"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/posts\/34250\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/34251"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=34250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=34250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=34250"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=34250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}