web-dev-qa-db-fra.com

Eclipse PDT & PHPUnit?

Existe-t-il une intégration de PHPUnit avec Eclipse PDT?

Si non, est-il prévu de le faire?

31
Gerard

Sebastian Bergmann avait déjà abordé pdt en 2006 ... mais sans résultat évident.
Et ses dernières entrées sur son blog mentionnent seulement PHPEdit 2.12 et Zend Studio .

Le seul framework de test officiellement documenté du côté du PDT est le "PDT Testing Framework" , et il ne semble pas activement maintenu ...

Donc non. Il ne semble pas y avoir de plan pour intégrer activement PHPUnit dans PDT de si tôt.

5
VonC

Voir Plugin Eclipse PHP Intégration d’outils (PTI) qui fournit l’intégration des fonctionnalités suivantes pour Eclipse:

  • PHP_CodeSniffer
  • PHPUnit
  • PHP dépend
  • Détecteur Copier/Coller PHP

Sites de mise à jour (Aide - Installer le logiciel - Ajouter ...):

Dernière version stable: http://www.phpsrc.org/Eclipse/pti/

Version de développement: http://www.phpsrc.org/Eclipse/pti-dev/

44
cirpo

Nous avons développé un plugin Eclipse appelé MakeGood qui intègre PHPUnit et plusieurs frameworks de test avec Eclipse PDT .

MakeGood est un programme d'essais en continu permettant d'exécuter des tests unitaires sur Eclipse PDT .

MakeGood fournit des retours rapides via des workflows automatisés pour l'exécution de tests, le suivi des échecs et des erreurs, ainsi que des erreurs fatales. Cela aidera les développeurs à faire Développement piloté par les tests (TDD) et Tests continus .

Pour plus d'informations, visitez notre site Web à l'adresse: https://github.com/piece/makegood/wiki

A screenshot of MakeGood

23
iteman

Il est possible d'intégrer PHPUnit à PDT de manière simple (ces paramètres ne sont pas totalement génériques, mais devraient constituer un bon point de départ).

  1. Sélectionnez la configuration Exécuter> Outils externes> Outils externes.
  2. Créer un nouveau programme
  3. Définissez l'emplacement pour qu'il pointe vers votre exécutable (/ usr/bin/phpunit sur linux)
  4. Définissez le répertoire de travail pour utiliser la variable $ {workspace_loc}
  5. Définissez les arguments sur $ {resource_path}

Sélectionnez maintenant Exécuter> Outils externes> PHPUnit pour exécuter le fichier de test sélectionné. Cela exécute simplement phpunit et envoie STDOUT au terminal Eclipse. Simple mais efficace.

Par la suite, vous pouvez utiliser l'icône avec une flèche verte et une boîte à outils rouge pour exécuter PHPUnit sans avoir à naviguer dans les menus.

7
DavidWinterbottom

(disclaimer: je ne suis absolument pas le développeur du projet dont je parle ici; seulement un utilisateur ^^ (Et comme je ne connais pas Java, il me serait très difficile de m'aider en contribuant du code. .. C’est donc ma façon d’aider :-)))} _

Il y a actuellement des travaux en cours de ce côté: il y a quelques semaines, (peut-être pas plus de deux semaines)}, le premier d'un projet d'intégration de phpunit dans Eclipse a été publié:

Ce qu'il fait:

  • permet de lancer des tests phpunit depuis Eclipse
  • et obtenir un "indice visuel" de ce qui se passe
  • ce qui est, d'une certaine manière, meilleur/plus convivial que l'approche proposée par Sebastian sur le wiki de phpunit.

Pour une sorte de capture d'écran, voir http://code.google.com/p/phpunit4Eclipse/wiki/j2phpUnitWrapper


Malheureusement, ce n'est pas (encore?)} Développé comme un plugin Eclipse:

  • c'est un projet Java séparé, qui lance phpunit
    • ou quelque chose comme ça, autant que je sache ...
  • ce qui signifie :
    • pas aussi bien intégré dans Eclipse que possible
    • le plus important est que lorsque vous double-cliquez sur une classe/méthode de test, cela ne vous conduit pas à cette classe/méthode (car les résultats des tests sont affichés par le projet Java et la classe/méthode de test est dans un autre, PHP, projet)} _
  • il est encore assez difficile à installer:
    • Je n'ai pas réussi à l'installer dans Eclipse PDT
    • J'ai dû installer "Eclipse IDE pour les développeurs Java", puis installer le plug-in PDT dans celui-ci (qui fonctionne correctement, mais n'est pas "facile")}.

Quoi qu'il en soit, il s'agit d'un travail en cours, le projet est encore assez jeune et ce n'est qu'un premier pas ...


Un groupe Google a été créé pour ce projet il y a quelques temps: http://groups.google.com/group/phpunit4Eclipse-user/

Il est actuellement vide , mais je suis sûr que cela aiderait si certaines personnes se joignaient à nous, donnaient leur avis, et pourquoi pas, aidaient!

5
Pascal MARTIN

Il existe bel et bien une intégration pour Eclipse PDT et PHPUnit. PHPSRC et MakeGood fonctionnent bien, bien que je sois un fan de MakeGood pour phpunit. phpsrc est livré avec d’autres produits comme CodeSniffer. J'ai branché un PHPUnit CodeSniffer Standard sur github qui valide la qualité des tests phpunit que je peux exécuter avec le plugin Eclipse PHP Tools CodeSniffer. Cela a des mises à jour pour les nouveaux paquets phpunit comme setUp et tearDown.

s'assure qu'il y a des assertions dans les tests. Quelque chose que les développeurs aiment oublier en essayant de respecter les statistiques de couverture de code no assertions in test

S'assure qu'il n'y a pas plus d'une affirmation par test. A meilleure pratique too many tests

L'installation de PDT dans Eclipse n'est pas simple.

Il y a beaucoup de petits détails impliqués Voici les étapes de haut niveau.

pear clear-cache
pear upgrade pear
pear update-channels
pear upgrade --alldeps -f 
pear channel-discover pear.phpunit.de
pear channel-discover pear.symfony-project.com
pear channel-discover components.ez.no
pear install --alldeps phpunit/PHPUnit

[xdebug]

zend_extension = "C:\xampp\php\ext\php_xdebug-2.2.1-5.4-vc9.dll"
xdebug.remote_enable=1
xdebug.remote_handler="dbgp"
xdebug.remote_mode="req"
xdebug.remote_port=9000    
xdebug.remote_Host = "127.0.0.1"
xdebug.remote_log="C:\xampp\php\logs"

Il m'a fallu près de 3 jours pour que tout soit correct, j'ai donc préparé un tutoriel vidéo

Bonne chance!

3
Josh Woodcock

Il existe un plugin sur le marché Eclipse maintenant appelé PTI PHP Intégration d’outils.

http://www.phpsrc.org/

2
Johan Sydseter

Utiliser phpunit depuis Ant est également possible, et Ant est supporté nativement par Eclipse. Simplement avoir un nouveau <exec executable="phpunit"> dans une cible et voilà, vous pouvez utiliser phpunit dans Eclipse, via ant.

0
T0xicCode

Pour tous en utilisant composer sur unix comme machine (Eclipse et xdebug installés):

cd <project-root>
ln -s vendor/bin/phpunit phpunit.php

Ouvrez Eclipse, ouvrez la configuration d’exécution/de débogage, créez une nouvelle configuration de débogage et sélectionnez phpunit.php en tant que fichier à déboguer. Continuez le reste de la configuration comme d'habitude, définissez des points d'arrêt, c'est tout.

0
philipp

Suite à la réponse @DavidWinterbottom (Eclipse Indigo):

  1. Sélectionnez le Exécuter -> Outils externes -> Configurations d’outils externes

  2. Créer un nouveau programme

  3. Définissez l'emplacement pour qu'il pointe vers votre exécutable (/usr/bin/phpunit sous Linux, ou le chemin d'accès à phpunit.bat sous Windows).

  4. Définissez le paramètre Arguments sur le chemin absolu de votre dossier phpunit (C:\phpproject\testunit).

Je ne pouvais pas le faire en utilisant ${project_loc} ou ${project_path}.

0
gabi doroftei

Je lance également PHPUnit en tant qu'outil externe, comme l'a proposé DavidWinterbottom.

Une chose que j’ajoute aussi, selon le type de projet, est d'aller dans l'onglet Options de construction et en sélectionnant les premières options après: "Exécuter le générateur:". Cela déclenche l'exécution des tests unitaires chaque fois que vous enregistrez un fichier. C'est formidable d'obtenir une boucle de rétroaction rouge-vert-refactor très rapide.

J'ai posté toutes les étapes avec des captures d'écran ici: http://nicholaslemay.blogspot.com/2010/02/using-Eclipse-phpunit-as-automatic.html

0
Nicholas Lemay