Plugin Eclipse pour Simpletest
Compatibilité
-
Système d'exploitation - OS
Ce plugin devrait fonctionner sur toutes les plateformes qui font tourner Eclipse. Il a été testé spécifiquement sur Linux, OS X et Windows. Si le plugin ne marche pas sur l'une des ces plateformes, c'est qu'une nouvelle incompatiblité est apparue : chose rare à priori. -
Eclipse
Le plugin a été pensé et développé pour fonctionner avec les versions 3.1.X+ and 3.2.X+ d'Eclipse. Eclipse en général nécessite une version 1.4.x ou supérieur de la JVM : il n'y a pas d'autres pré-requis pour le plugin. -
PHP
Le plugin a été testé pour fonctionner avec PHP 4.3.x+ (y compris PHP 5.1.x.). -
Xdebug
Le plugin peut-être configuré pour fonctionnver avec Xdebug (version 2.0.0RC1 ou suivante). Le fichier php.ini utilisé par le plugin (voir ci-dessous pour définir ce fichier) doit charger l'extension Xdebug. Généralement on y arrive en ajoutant zend_extension_ts="Some Windows Path" ou zend_extension="Some Linux Path" au fichier php.ini. Des instructions spécifiques peuvent être trouvées à l'adresse : http://xdebug.org/install.php Pas la peine de se tracasser à propos des autres paramètres, le plugin se chargera d'initialiser les paramètres nécessaires au besoin. -
Simpletest
Le plugin est prévu pour tourner avec une version spécifique de SimpleTest. Et même plus : il inclut la version associée de SimpleTest compatible. Un plugin avec comme numéro de version 1.0.0_0.0.4 indiquerait que les plugin est compatible avec la version 1.0.0 de SimpleTest and qu'il s'agit de la version 0.0.4 du plugin. De légères modifications sont nécessaires sur le code de SimpleTest même pour que le plugin fonctionne bien; ces modifications peuvent (ou pas) être comprise dans la version de SimpleTest sans plugin. -
PHPUnit2
A partir du plugin version 0.1.6 un support expérimental de la version CVS de PHPUnit2 est disponible. Pour utiliser PHPUnit2, Choisisser un chemin vers PHPUnit2 et sélectionnez les tests PHPUnit2 en lieu et place de SimpleTest. Note: il s'agit du chemin vers le dossier qui contient le dosser PHPUnit2. PHPUnit 3 n'est pas supporté mais devrait l'être plus tard.
Installation
- Télécharger et installer Eclipse (www.eclipse.org) – si vous n'êtes pas sûr quoi télécharger, prenez le SDK 3.1.0 d'Eclipse.
- Télécharger le dernier fichier ZIP du plugin Eclipse pour SimpleTest (Simpletest Sourceforge)
- Extgraire le contenu du fichier ZIP vers un répertoire temporaire {cette documentation y fera référence par $unzip}
- Lancer Eclipse
- Ouvrir "Install Wizard" en cliquant sur "Help > Software Updates > Find and Install" depuis la barre du menu.
- Choisisser le deuxième bouton, "Search for new features to install" et cliquer sur "Next".
- Cliquer sur le bouton du côté droit, "New Local Site".
- Sélectionner le répertoire $unzip {le répertoire qui a servi pour l'extraction}.
- Cliquer sur le bouton "OK".
- Dans la fenêtre "Edit Local Site", cliquer sulick the "OK" button
- Cliquer sur le bouton "Finish"
- Dans la fenêtre "Search Results", chercher puis sélectionner "Simpletest plug-in 0.0.x"
- Cliquer sur le bouton "Next"
- Lire la licence et l'accepter en cliquant le bouton radio "I accept the terms in the license agreement" puis cliquer sur le bouton "Next"
- Dans la fenêtre "Installation", vous pouvez changer le lieu d'installation -- la plupart des utilisateurs appuyeront juste sur le bouton "Finish"
- Dans la fenêtre "Feature Verification", cliquer sur le bouton "Install"
- Relancer Eclipse comme demandé
-
Après avoir lancé Eclipse pour la première fois après l'installation, vous aurez besoin de configurer le plugin SimpleTest. Pour y arriver :
- Sélectionner "Window > Preferences" dans la barre de menu
- Sélectionner "Simpletest" dans les catégories sur la gauche de la boîte de dialogue.
- Remplir ou choisir le répertoire contenant l'éxécutable PHP à utliser.
- Laisser vierge le champ avec le fichier à inclure.
- Remplir .php comme "Test File Suffix". Bien sûr si vous utilisez ue autre extension pour vos fichiers de tests en PHP (par exemple mon-test.tst.php) n'hésitez pas à remplir le champ avec ce qui va bien (dans notre exemple .tst.php). Le plugin s'en sert pour trouver des tests à éxécuter.
- Appuer sur le bouton "Ok" pour fermer la fenêtre des préférences.
Mettre à jour une version existante
- Sélectionner "Help > Software Updates > Manage Configuration" dans le menu
- Trouver le plugin Simpletest dans la liste et le choisir
- Dans la section de droite, cliquer sur le lien "Scan for Updates"
- Si aucune mise à jour n'est détectée, naviguer vers "Window > Preferences > Install/Update > Valid Updates" dans les préférences d'Eclipse et sélectionner "compatible", en lieu et place de "equivalent". Puis recommencer les étapes ci-dessus.
- Sélectionner les versions à mettre à jour et cliquer sur "Next".
- Relire les licences pour ces mises à jour : si elles sont acceptables, cocher "I accept the terms in the license agreements." Si les termes de la licence ne vous paraissent pas acceptables, il est encore temps d'arrêter le téléchargement.
- Cliquer sur "Install" pour permettre le téléchargement est l'installation.
- Une fois que toutes les fonctionnalités et plugins ont été téléchargés avec succès et que leurs fihciers ont été installés sur l'ordinateur local, une nouvelle configuration qui incorpore les nouvelles fonctionnalités et nouveaux plugins sera créée. Cliquer sur "Yes" quand on vous demander de quitter et relancher le "Workbench" pour les changements prennent effet.
Désinstallation
- Sélectionner "Help > Software Updates > Manage Configuration"
- Choisir le plugin Simpletest dans la liste
- Cliquer-droit sur le plugin Simpletest et sélectionner l'option "Disable"
- Accepter le redémarrage d'Eclipse
- Une fois Eclipse redémarré, sélectionner "Help > Software Updates > Manage Configuration" depuis le menu
- Sélectionner l'option "Show Disabled Features" dans la barre d'outils
- Choisir le plugin SimpleTest dans la liste
- Cliquer-droit sur le plugin SimpleTest et sélectionner l'option "Uninstall"
- Accepter le redémarrage d'Eclipse
Utilisation
La suite présente quelques exemples d'utilsation du plugin.
- Créer une nouveau projet de test (un lieu pour grouper des fichiers similaires)
- Sélectionner "File > New > Project.." dans le menu
- Agrandir le répertoire "General" et choisir "Project"
- Cliquer sur le bouton "Next"
- Sur le tab suivant, ajouter un nom de projet : "Test"
- Utiliser le contenu de projet par défaut
- Cliquer sur le bouton "Finish"
- Créer un test unique avec un seul succès
- Dans l'explorateur de paquet cliquer-droit sur le projet "Test" et sélectionner "New > File".
- Comme nom de fichier remplir : test1.php et cliquer sur "Finish"
- Double-cliquer sur l'entrée test1.php dans l'explorateur de paquet : cela devrait ouvrir une nouvelle vue pour modifier ce fichier.
- Remplir le fichier avec ces lignes :
<?php class test1 extends UnitTestCase { function test_pass(){ $x = 1; $y = 2; $total = $x + $y; $this->assertEqual(3,$total, "This should pass"); } } ?>
- Sélectionner "File > Save" depuis le menu.
- Cliquer-droit sur test1.php et sélectionner "Run > Run Simpletest".
- La "Result View" devrait se remplir avec les informations sur le résultat du test et la console SimpleTest devrait se remplir avec d'autres informations aussi.
- Une seule classe de test, plusieurs tests
- dans l'explorateur de paquet, cliquer droit sur le projet "Test" et sélectionner "New > File".
- En tant que nom de fichier, utiliser : test2.php et cliquer sur "Finish".
- Double-cliquer sur l'entrée test2.php dans l'explorateur de paquet : une nouvelle vue s'ouvre, prête pour l'édition.
- Remplir le contenu avec :
<?php class test2 extends UnitTestCase { function test_pass(){ $x = 1; $y = 2; $total = $x + $y; $this->assertEqual(3,$total, "This should pass"); } function test_fail(){ $x = 1; $y = 2; $total = $x + $y; $this->assertEqual(4,$total,"This should fail"); } } ?>
- Sélectionner "File > save" dans la barre de menu.
- Cliquer-droit sur grouptest.php et sélectionner "Run > Run Simpletest".
- La "Result View" devrait se remplir avec les informations issus du test lancé, idem pour pour la console SimpleTest.
- Tests groupés (plusieurs fichiers de test en même temps)
- dans l'explorateur de paquet, cliquer droit sur le projet "Test" et sélectionner "New > File".
- En tant que nom de fichier, utiliser : test2.php et cliquer sur "Finish".
- Double-cliquer sur l'entrée test2.php dans l'explorateur de paquet : une nouvelle vue s'ouvre, prête pour l'édition.
- Remplir le contenu avec :
<?php class myGroupTest extends GroupTest { function myGroupTest() { parent::GroupTest(''); $this->addTestFile(dirname(__FILE__).'/test1.php'); $this->addTestFile(dirname(__FILE__).'/test2.php'); } } ?>
- Sélectionner "File > Save" depuis le menu.
- Cliquer-droit sur test1.php et sélectionner "Run > Run Simpletest".
- La "Result View" devrait se remplir avec les informations sur le résultat du test et la console SimpleTest devrait se remplir avec d'autres informations aussi.
Problèmes connus
- Si un constructeur est utilisé dans le scénario de test, bien faire attention à ce que la dernière ligne de ce constructeur appelle le constructeur parent (par exemple parent::UnitTestCase)
- Ne pas mettre d'assertions dans le constructeur de la classe de test
- Si vous obtenez une erreur indiquant qu'une classe ne pouvait pas être chargé, alors il faut relancer Eclipse. Une fois qu'Eclipse a redémarré, ouvrir la "Result View" manuellement en sélectionnant "Window > Show View > Other..." Puis sélectionner la catégorie SimpleTest, puis la "Result View" et enfin cliquer sur "OK".
Foncationnalités à venir
Ci-dessous des fonctionnalités qui devrait arriver à un moment ou un autre dans ce plugin
- Permettre différents fichiers d'inclustion pour chaque lanceur (écraser l'include "master")
- Mieux gérer les erreurs fatales