Comment pouvez-vous mettre en place PHP + xDebug + (x) + unité Eclipse pour travailler avec des points d'arrêt dans les tests unitaires?

StackOverflow https://stackoverflow.com/questions/880479

Question

Ont essayé pendant un certain temps pour que cela fonctionne correctement mais pas de chance. Au fond, je Eclipse (3.3) avec les outils de développement de PHP (PDT) et le plug-in PDT XDebug ainsi que le plugin Eclipse SimpleTest.

Ce que je veux faire est le code de débogage invoqué par des tests unitaires SimpleTest. SimpleTest peut voir clairement XDebug, parce que je peux générer des rapports de couverture de code, mais il ne veut tout simplement pas arrêter sur des points d'arrêt.

Modifier : Faut-il ajouter que XDebug et points d'arrêt fonctionnent très bien dans l'éclipse, mais pas quand il est invoqué par SimpleTest

Quelqu'un at-il le mettre en place avec succès? Il y a beaucoup de Guff docs autour et peu à la manière des informations utiles.

Merci!

Était-ce utile?

La solution

Assurez-vous que vous avez la bonne version XDebug pour votre version de PHP et d'ajouter ceci au début de votre fichier php.ini:

[xdebug]
zend_extension=full_path_to_your_xdebug.so 
xdebug.default_enable=On
xdebug.remote_enable=On
xdebug.remote_handler="dbgp"
xdebug.remote_host="localhost"
xdebug.remote_port=9000

Ensuite, faites un apachectl graceful et un phpinfo et assurez-vous XDebug est présent et actif. Dans ce cas, tout devrait bien fonctionner. Je sais que cela fait pour moi.

modifier. Je lui ai répondu avant de lire toute la question

avant d'exécuter le script que vous devez définir la variable d'environnement;

export XDEBUG_CONFIG="idekey=session_name"

Il est peut-être possible de le faire à partir de php, mais je ne peux pas tester ceci:

putenv('XDEBUG_CONFIG="idekey=session_name"');

Vous devez vous assurer que le binaire php que vous utilisez a l'extension XDebug chargé, sur mon système le module apache a, mais l'interprète par défaut CLI ne est pas, mais j'exécuter différentes versions sur le but.

Il y a quelques bonne documentation ici

Autres conseils

Pour aller plus loin sur la réponse de Kris, Si vous gérez vos environnements de production et de développement sur le même serveur, il est une bonne idée de reléguer vos paramètres de Xdebug soit à un php include ou à ceux de votre virtualhosts qui sont dédiés à dev ou testing environnements:

  • la syntaxe pour virtualhosts est

    <virtualHost ....>
    
      (...)
    
      # Xdebug ENV
      php_flag xdebug.auto_trace on
      php_flag xdebug.idekey session_name
      php_flag xdebug.profiler_enable_trigger 1
      php_flag xdebug.(...)
    
      (...)
    
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top