{"id":690,"date":"2013-12-06T16:11:12","date_gmt":"2013-12-06T14:11:12","guid":{"rendered":"http:\/\/www.lafabriquedecode.com\/blog\/?p=690"},"modified":"2013-12-06T16:11:12","modified_gmt":"2013-12-06T14:11:12","slug":"les-tests-unitaires-dans-eclipse-pdt-avec-makegood","status":"publish","type":"post","link":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/","title":{"rendered":"Les tests unitaires dans Eclipse PDT avec MakeGood"},"content":{"rendered":"<p>MakeGood est un plug-in pour Eclipse qui vous permettra de lancer de mani\u00e8re continue (\u00e0 l&rsquo;issue d&rsquo;une simple modification du code) vos tests unitaires. Rien de plus \u00e9nervant que de devoir alterner entre ligne de commande et IDE pour d\u00e9velopper, n&rsquo;est-ce pas ? Ce plug-in, d\u00e9velopp\u00e9 par une entreprise japonaise, est l\u00e0 pour mettre un terme \u00e0 vos souffrances de d\u00e9veloppeur PHP consciencieux ! Voyons sans plus tarder comment il s&rsquo;installe. Je suppose \u00e9videmment que vous respectez les pr\u00e9-requis, \u00e0 savoir une installation fonctionnelle d&rsquo;Eclipse PDT, de phpUnit (via PEAR) et de XDebug. <\/p>\n<h1>T\u00e9l\u00e9charger et installer le plug-in<\/h1>\n<h2>Cliquez sur Aide \/ Installer de nouveaux logiciels<\/h2>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1.jpg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1.jpg\" alt=\"1\" width=\"649\" height=\"365\" class=\"alignnone size-full wp-image-691\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1.jpg 649w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-300x168.jpg 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-624x350.jpg 624w\" sizes=\"(max-width: 649px) 100vw, 649px\" \/><\/a><\/p>\n<p>Voici la fen\u00eatre qui appara\u00eet \u00e0 l&rsquo;\u00e9cran :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-bis.jpg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-bis.jpg\" alt=\"1-bis\" width=\"787\" height=\"282\" class=\"alignnone size-full wp-image-698\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-bis.jpg 787w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-bis-300x107.jpg 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1-bis-624x223.jpg 624w\" sizes=\"(max-width: 787px) 100vw, 787px\" \/><\/a><\/p>\n<h2>Cr\u00e9ez un nouveau d\u00e9p\u00f4t pour r\u00e9cup\u00e9rer les sources du plug-in<\/h2>\n<p>Cliquez sur le bouton \u00ab\u00a0Ajouter\u00a0\u00bb (\u00ab\u00a0Add\u00a0\u00bb) et renseignez les champs comme suit :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/2.jpg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/2.jpg\" alt=\"2\" width=\"506\" height=\"230\" class=\"alignnone size-full wp-image-694\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/2.jpg 506w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/2-300x136.jpg 300w\" sizes=\"(max-width: 506px) 100vw, 506px\" \/><\/a><\/p>\n<h2>S\u00e9lectionnez le paquetage cible<\/h2>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/3.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/3.jpeg\" alt=\"3\" width=\"532\" height=\"609\" class=\"alignnone size-full wp-image-701\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/3.jpeg 532w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/3-262x300.jpeg 262w\" sizes=\"(max-width: 532px) 100vw, 532px\" \/><\/a><\/p>\n<p>Une fois le plug-in install\u00e9 et Eclipse PDT relanc\u00e9 pour prendre en compte ce nouvel ajout, il va nous falloir param\u00e9trer un projet !<\/p>\n<h1>Cr\u00e9er un projet int\u00e9grant MakeGood<\/h1>\n<p>Cr\u00e9ons tout d&rsquo;abord un projet PHP \u00ab\u00a0local\u00a0\u00bb, c&rsquo;est \u00e0 dire h\u00e9berg\u00e9 sur votre machine. Vous devez avoir un ex\u00e9cutable PHP pr\u00e9alablement install\u00e9 (PHP cli).<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/4.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/4.jpeg\" alt=\"4\" width=\"549\" height=\"516\" class=\"alignnone size-full wp-image-705\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/4.jpeg 549w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/4-300x281.jpeg 300w\" sizes=\"(max-width: 549px) 100vw, 549px\" \/><\/a><\/p>\n<p>Donnons lui un nom trivial, c&rsquo;est un simple essai, ne cherchons pas les complications inutiles !<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/5.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/5.jpeg\" alt=\"5\" width=\"453\" height=\"273\" class=\"alignnone size-full wp-image-707\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/5.jpeg 453w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/5-300x180.jpeg 300w\" sizes=\"(max-width: 453px) 100vw, 453px\" \/><\/a><\/p>\n<p>Voil\u00e0 maintenant votre projet d\u00e9ploy\u00e9 dans l&rsquo;explorateur :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/6.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/6.jpeg\" alt=\"6\" width=\"207\" height=\"142\" class=\"alignnone size-full wp-image-711\" \/><\/a><\/p>\n<p>Ouvrons la vue d\u00e9di\u00e9e \u00e0 MakeGood :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/7.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/7.jpeg\" alt=\"7\" width=\"408\" height=\"323\" class=\"alignnone size-full wp-image-717\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/7.jpeg 408w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/7-300x237.jpeg 300w\" sizes=\"(max-width: 408px) 100vw, 408px\" \/><\/a><\/p>\n<p>Vous voyez un message d&rsquo;erreur s&rsquo;afficher dans cette vue : \u00ab\u00a0MakeGood is not configured yet. Fix&#8230;\u00a0\u00bb, c&rsquo;est le signe qu&rsquo;il nous reste du param\u00e9trage \u00e0 faire !<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/8.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/8.jpeg\" alt=\"8\" width=\"555\" height=\"138\" class=\"alignnone size-full wp-image-718\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/8.jpeg 555w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/8-300x74.jpeg 300w\" sizes=\"(max-width: 555px) 100vw, 555px\" \/><\/a><\/p>\n<h1>Param\u00e9trer votre projet PHP pour utiliser MakeGood<\/h1>\n<h2>L&rsquo;ex\u00e9cutable PHP<\/h2>\n<p>MakeGood aura besoin de localiser votre ex\u00e9cutable PHP, celui que vous utilisez en ligne de commande. Ouvrez donc les pr\u00e9f\u00e9rences g\u00e9n\u00e9rales d&rsquo;Eclipse PDT :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/9.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/9.jpeg\" alt=\"9\" width=\"276\" height=\"320\" class=\"alignnone size-full wp-image-720\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/9.jpeg 276w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/9-258x300.jpeg 258w\" sizes=\"(max-width: 276px) 100vw, 276px\" \/><\/a><\/p>\n<p>D\u00e9ployez le noeud intitul\u00e9 \u00ab\u00a0PHP\u00a0\u00bb et rendez-vous \u00e0 la sous-section \u00ab\u00a0PHP Executables\u00a0\u00bb. Notez au passage la section sur MakeGood en haut de l&rsquo;image.<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/10.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/10.jpeg\" alt=\"10\" width=\"214\" height=\"276\" class=\"alignnone size-full wp-image-721\" \/><\/a><\/p>\n<p>Cliquez sur \u00ab\u00a0Add\u00a0\u00bb (\u00ab\u00a0Ajouter\u00a0\u00bb) pour y param\u00e9trer votre executable PHP. A titre d&rsquo;exemple, voici le mien tel qu&rsquo;il est configur\u00e9 sur ma machine GNU\/Linux Debian (c&rsquo;est pourquoi la fen\u00eatre signale \u00ab\u00a0Edit\u00a0\u00bb et pas \u00ab\u00a0Add\u00a0\u00bb).<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/11.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/11.jpeg\" alt=\"11\" width=\"602\" height=\"362\" class=\"alignnone size-full wp-image-725\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/11.jpeg 602w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/11-300x180.jpeg 300w\" sizes=\"(max-width: 602px) 100vw, 602px\" \/><\/a><\/p>\n<p>Voici la raison pour laquelle vous devez avoir un PHP Cli install\u00e9 sur votre machine, c&rsquo;est une condition <em>sine qua non<\/em> pour que MakeGood fonctionne, mais ce n&rsquo;est pas la seule ! Rendez-vous \u00e0 pr\u00e9sent sur le noeud \u00ab\u00a0Debug\u00a0\u00bb de vos pr\u00e9f\u00e9rences PHP :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/12.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/12.jpeg\" alt=\"12\" width=\"190\" height=\"205\" class=\"alignnone size-full wp-image-727\" \/><\/a><\/p>\n<p>Voici mes param\u00e9trages : nous avons param\u00e9tr\u00e9 notre ex\u00e9cutable PHP, autant nous en servir en y faisant r\u00e9f\u00e9rence !<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/13.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/13.jpeg\" alt=\"13\" width=\"480\" height=\"419\" class=\"alignnone size-full wp-image-728\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/13.jpeg 480w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/13-300x261.jpeg 300w\" sizes=\"(max-width: 480px) 100vw, 480px\" \/><\/a><\/p>\n<h2>PEAR<\/h2>\n<p>Il va falloir faire mention de PEAR dans les librairies que devra prendre en charge Eclipse PDT. Pour ce faire, dans les pr\u00e9f\u00e9rences g\u00e9n\u00e9rales de votre IDE, vous vous rendrez \u00e0 la section \u00ab\u00a0PHP Librairies\u00a0\u00bb :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/14.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/14.jpeg\" alt=\"14\" width=\"216\" height=\"303\" class=\"alignnone size-full wp-image-731\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/14.jpeg 216w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/14-213x300.jpeg 213w\" sizes=\"(max-width: 216px) 100vw, 216px\" \/><\/a><\/p>\n<p>Cliquez sur Nouveau et donnez un nom \u00e0 votre librairie PEAR&#8230;comme PEAR par exemple ! \ud83d\ude09<br \/>\nUne fois que votre librairie appara\u00eet dans la liste, s\u00e9lectionnez-la et cliquez sur le bouton \u00ab\u00a0Add external folder\u00a0\u00bb pour faire r\u00e9f\u00e9rence au r\u00e9pertoire qui h\u00e9berge votre installation de PEAR (la racine de tous vos extensions PEAR si vous pr\u00e9f\u00e9rez&#8230;), une fois ceci fait, vous devriez avoir quelque chose qui ressemble \u00e0 peu pr\u00e8s \u00e0 \u00e7a \u00e0 l&rsquo;\u00e9cran :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/15.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/15.jpeg\" alt=\"15\" width=\"345\" height=\"180\" class=\"alignnone size-full wp-image-732\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/15.jpeg 345w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/15-300x156.jpeg 300w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/a><\/p>\n<p>Reste \u00e0 faire mention de votre librairie PEAR cette fois-ci dans les propri\u00e9t\u00e9s de votre projet et non plus d&rsquo;Eclipse PDT. S\u00e9lectionnez votre projet dans l&rsquo;explorateur et s\u00e9lectionnez les propri\u00e9t\u00e9s avec un clic droit.<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/16.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/16.jpeg\" alt=\"16\" width=\"434\" height=\"580\" class=\"alignnone size-full wp-image-735\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/16.jpeg 434w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/16-224x300.jpeg 224w\" sizes=\"(max-width: 434px) 100vw, 434px\" \/><\/a> <\/p>\n<p>Votre cible est la rubrique \u00ab\u00a0PHP Include Path\u00a0\u00bb o\u00f9 vous allez renseigner la librairie PEAR cr\u00e9\u00e9e un peu plus haut, mais au niveau Eclipse et pas projet. Cliquez sur \u00ab\u00a0Add Library\u00a0\u00bb ou son \u00e9quivalent fran\u00e7ais et s\u00e9lectionnez ensuite votre biblioth\u00e8que PEAR.<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/17.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/17.jpeg\" alt=\"17\" width=\"749\" height=\"452\" class=\"alignnone size-full wp-image-737\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/17.jpeg 749w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/17-300x181.jpeg 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/17-624x376.jpeg 624w\" sizes=\"(max-width: 749px) 100vw, 749px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/18.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/18.jpeg\" alt=\"18\" width=\"597\" height=\"522\" class=\"alignnone size-full wp-image-738\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/18.jpeg 597w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/18-300x262.jpeg 300w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/a><\/p>\n<p>Voici venu le moment de cr\u00e9er un r\u00e9pertoire destin\u00e9 \u00e0 contenir nos tests unitaires, faisons preuve d&rsquo;une imagination sans limites et nommons le \u00ab\u00a0Tests\u00a0\u00bb.<br \/>\n<a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/19.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/19.jpeg\" alt=\"19\" width=\"576\" height=\"312\" class=\"alignnone size-full wp-image-740\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/19.jpeg 576w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/19-300x162.jpeg 300w\" sizes=\"(max-width: 576px) 100vw, 576px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/20.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/20.jpeg\" alt=\"20\" width=\"557\" height=\"583\" class=\"alignnone size-full wp-image-741\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/20.jpeg 557w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/20-286x300.jpeg 286w\" sizes=\"(max-width: 557px) 100vw, 557px\" \/><\/a><\/p>\n<p>Toujours dans les propri\u00e9t\u00e9s du projet (clic droit ou bien Alt+Entr\u00e9e, une fois ce projet s\u00e9lectionn\u00e9 dans l&rsquo;explorateur), rendez vous dans la partie d\u00e9di\u00e9e \u00e0 MakeGood et cliquez sur \u00ab\u00a0Add\u00a0\u00bb dans l&rsquo;onglet \u00ab\u00a0General\u00a0\u00bb pour ajouter votre joli r\u00e9pertoire de test nouvellement cr\u00e9\u00e9 !<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/21.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/21.jpeg\" alt=\"21\" width=\"810\" height=\"485\" class=\"alignnone size-full wp-image-743\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/21.jpeg 810w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/21-300x179.jpeg 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/21-624x373.jpeg 624w\" sizes=\"(max-width: 810px) 100vw, 810px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/22.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/22.jpeg\" alt=\"22\" width=\"501\" height=\"357\" class=\"alignnone size-full wp-image-746\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/22.jpeg 501w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/22-300x213.jpeg 300w\" sizes=\"(max-width: 501px) 100vw, 501px\" \/><\/a><\/p>\n<p>D\u00e9sormais, le message d&rsquo;erreur rouge qui apparaissait tout \u00e0 l&rsquo;heure a laiss\u00e9 place \u00e0 la mention \u00ab\u00a0Waiting a for test run&#8230;\u00a0\u00bb dans la vue MakeGood et vous \u00eates pr\u00eat(e) \u00e0 vous lancer dans le test unitaire :<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/23.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/23.jpeg\" alt=\"23\" width=\"727\" height=\"230\" class=\"alignnone size-full wp-image-747\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/23.jpeg 727w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/23-300x94.jpeg 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/23-624x197.jpeg 624w\" sizes=\"(max-width: 727px) 100vw, 727px\" \/><\/a><\/p>\n<h1>Cr\u00e9er des tests unitaires simples<\/h1>\n<h2>Notre classe \u00e0 tester<\/h2>\n<p>Cr\u00e9er un fichier PHP \u00e0 la racine de \u00ab\u00a0MonSuperProjet\u00a0\u00bb, nommez le Calculette.php. Dans votre r\u00e9pertoire Tests, cr\u00e9ez un fichier PHP nomm\u00e9 \u00ab\u00a0CalculetteTest.php\u00a0\u00bb. Respectez le nommage, dict\u00e9 par les bonnes pratiques.<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/24.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/24.jpeg\" alt=\"24\" width=\"192\" height=\"188\" class=\"alignnone size-full wp-image-749\" \/><\/a><\/p>\n<p>Vous avez peut-\u00eatre remarqu\u00e9 ce faisant que, et m\u00eame si c&rsquo;est all\u00e9 tr\u00e8s vite, quelque chose s&rsquo;est pass\u00e9 alors m\u00eame que vous avez cr\u00e9e ce fichier CalculetteTest.php dans le r\u00e9pertoire Tests&#8230;le statut de MakeGood a chang\u00e9, il a tent\u00e9 de lancer vos tests mais comme votre fichier est vide, il affiche \u00ab\u00a0Running a test&#8230;\u00a0\u00bb avec 0 tests indiqu\u00e9s.<\/p>\n<h2>Calculette.php<\/h2>\n<p>Ce fichier de test est tr\u00e8s librement adapt\u00e9 de l&rsquo;exemple de la documentation officielle de phpUnit, qu&rsquo;\u00e9videmment je vous encourage \u00e0 aller voir en ligne ! Voici son contenu :<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\nclass Calculette {\r\n    public function RacineCarree($nombre) {\r\n\r\n        if (0 &gt; $nombre) {\r\n\t    throw new InvalidArgumentException('Le nombre fourni est n\u00e9gatif');\r\n\t}\r\n\r\n\treturn sqrt($nombre);\r\n    }\r\n}\r\n<\/pre>\n<h2>CalculetteTest.php<\/h2>\n<p>Notre classe de test aura, quant \u00e0 elle, cette allure l\u00e0 :<\/p>\n<pre class=\"brush: php; title: ; notranslate\" title=\"\">\r\n\r\nrequire_once 'Calculette.php';\r\n\r\nclass CalculetteTest extends PHPUnit_Framework_Testcase\r\n{\r\n    protected $_calculette;\r\n\r\n    public function setUp() {\r\n\t$this-&gt;_calculette = new Calculette;\r\n    }\r\n\r\n    public function testRacineCarreeNegative() {\r\n\t$this-&gt;setExpectedException('InvalidArgumentException');\r\n\t$this-&gt;_calculette-&gt;RacineCarree(-1);\r\n    }\r\n\r\n    public function testRacineCarreePositive() {\r\n\t$this-&gt;assertEquals(3, $this-&gt;_calculette-&gt;RacineCarree(9));\r\n    }\r\n}\r\n<\/pre>\n<p>N&rsquo;h\u00e9sitez pas \u00e0 ajouter des m\u00e9thodes dans la classe \u00e0 tester et \u00e9videmment \u00e0 les tester dans CalculetteTest.php, vous verrez qu&rsquo;\u00e0 chaque Ctrl+S dans votre code (dans Calculette.php comme dans CalculetteTest.php), les tests vont se relancer, c&rsquo;est \u00e7a l&rsquo;id\u00e9e du \u00ab\u00a0Continuous Test Runner\u00a0\u00bb que se veut \u00eatre MakeGood. Comme nos tests sont bien \u00e9crits, c&rsquo;est du vert que nous avons; les deux passent !<\/p>\n<p><a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/26.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/26.jpeg\" alt=\"26\" width=\"648\" height=\"528\" class=\"alignnone size-full wp-image-753\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/26.jpeg 648w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/26-300x244.jpeg 300w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/26-624x508.jpeg 624w\" sizes=\"(max-width: 648px) 100vw, 648px\" \/><\/a><\/p>\n<p>N&rsquo;oubliez pas d&rsquo;\u00eatre curieux(se) et d&rsquo;aller inspecter les temps d&rsquo;ex\u00e9cution des tests, vous aurez parfois des surprises !<br \/>\n<a href=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/27.jpeg\"><img loading=\"lazy\" src=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/27.jpeg\" alt=\"27\" width=\"579\" height=\"184\" class=\"alignnone size-full wp-image-755\" srcset=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/27.jpeg 579w, http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/27-300x95.jpeg 300w\" sizes=\"(max-width: 579px) 100vw, 579px\" \/><\/a><\/p>\n<p>A vous de jouer maintenant !<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MakeGood est un plug-in pour Eclipse qui vous permettra de lancer de mani\u00e8re continue (\u00e0 l&rsquo;issue d&rsquo;une simple modification du code) vos tests unitaires. Rien de plus \u00e9nervant que de devoir alterner entre ligne de commande et IDE pour d\u00e9velopper, n&rsquo;est-ce pas ? Ce plug-in, d\u00e9velopp\u00e9 par une entreprise japonaise, est l\u00e0 pour mettre un [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0},"categories":[40,3,29],"tags":[66,68,4,67],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.6.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Les tests unitaires dans Eclipse PDT avec MakeGood - La Fabrique de code - Tech blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Les tests unitaires dans Eclipse PDT avec MakeGood - La Fabrique de code - Tech blog\" \/>\n<meta property=\"og:description\" content=\"MakeGood est un plug-in pour Eclipse qui vous permettra de lancer de mani\u00e8re continue (\u00e0 l&rsquo;issue d&rsquo;une simple modification du code) vos tests unitaires. Rien de plus \u00e9nervant que de devoir alterner entre ligne de commande et IDE pour d\u00e9velopper, n&rsquo;est-ce pas ? Ce plug-in, d\u00e9velopp\u00e9 par une entreprise japonaise, est l\u00e0 pour mettre un [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/\" \/>\n<meta property=\"og:site_name\" content=\"La Fabrique de code - Tech blog\" \/>\n<meta property=\"article:published_time\" content=\"2013-12-06T14:11:12+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1.jpg\" \/>\n<meta name=\"author\" content=\"admin\" \/>\n<meta name=\"twitter:card\" content=\"summary\" \/>\n<meta name=\"twitter:creator\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:site\" content=\"@LaFabrique2Code\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"admin\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/\",\"name\":\"Les tests unitaires dans Eclipse PDT avec MakeGood - La Fabrique de code - Tech blog\",\"isPartOf\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\"},\"datePublished\":\"2013-12-06T14:11:12+00:00\",\"dateModified\":\"2013-12-06T14:11:12+00:00\",\"author\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\"},\"breadcrumb\":{\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"http:\/\/www.lafabriquedecode.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Les tests unitaires dans Eclipse PDT avec MakeGood\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#website\",\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/\",\"name\":\"La Fabrique de code - Tech blog\",\"description\":\"PHP objet, MySQL, Design Patterns, OOP...et plus !\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162\",\"name\":\"admin\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"contentUrl\":\"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g\",\"caption\":\"admin\"},\"url\":\"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Les tests unitaires dans Eclipse PDT avec MakeGood - La Fabrique de code - Tech blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/","og_locale":"fr_FR","og_type":"article","og_title":"Les tests unitaires dans Eclipse PDT avec MakeGood - La Fabrique de code - Tech blog","og_description":"MakeGood est un plug-in pour Eclipse qui vous permettra de lancer de mani\u00e8re continue (\u00e0 l&rsquo;issue d&rsquo;une simple modification du code) vos tests unitaires. Rien de plus \u00e9nervant que de devoir alterner entre ligne de commande et IDE pour d\u00e9velopper, n&rsquo;est-ce pas ? Ce plug-in, d\u00e9velopp\u00e9 par une entreprise japonaise, est l\u00e0 pour mettre un [&hellip;]","og_url":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/","og_site_name":"La Fabrique de code - Tech blog","article_published_time":"2013-12-06T14:11:12+00:00","og_image":[{"url":"http:\/\/www.lafabriquedecode.com\/blog\/wp-content\/uploads\/2013\/12\/1.jpg"}],"author":"admin","twitter_card":"summary","twitter_creator":"@LaFabrique2Code","twitter_site":"@LaFabrique2Code","twitter_misc":{"\u00c9crit par":"admin","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/","url":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/","name":"Les tests unitaires dans Eclipse PDT avec MakeGood - La Fabrique de code - Tech blog","isPartOf":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website"},"datePublished":"2013-12-06T14:11:12+00:00","dateModified":"2013-12-06T14:11:12+00:00","author":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162"},"breadcrumb":{"@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/www.lafabriquedecode.com\/blog\/2013\/12\/les-tests-unitaires-dans-eclipse-pdt-avec-makegood\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"http:\/\/www.lafabriquedecode.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Les tests unitaires dans Eclipse PDT avec MakeGood"}]},{"@type":"WebSite","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#website","url":"http:\/\/www.lafabriquedecode.com\/blog\/","name":"La Fabrique de code - Tech blog","description":"PHP objet, MySQL, Design Patterns, OOP...et plus !","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/www.lafabriquedecode.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/83863c048b82fd9ccf6407bddd241162","name":"admin","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"http:\/\/www.lafabriquedecode.com\/blog\/#\/schema\/person\/image\/","url":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","contentUrl":"http:\/\/0.gravatar.com\/avatar\/fc2e1de7c8a1871b50ff9c6a6f8682a2?s=96&d=retro&r=g","caption":"admin"},"url":"http:\/\/www.lafabriquedecode.com\/blog\/author\/admin\/"}]}},"_links":{"self":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/690"}],"collection":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/comments?post=690"}],"version-history":[{"count":40,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/690\/revisions"}],"predecessor-version":[{"id":758,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/posts\/690\/revisions\/758"}],"wp:attachment":[{"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/media?parent=690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/categories?post=690"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.lafabriquedecode.com\/blog\/wp-json\/wp\/v2\/tags?post=690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}