2009-05-19 9 views
6

Avoir essayé pendant un certain temps pour que cela fonctionne correctement mais pas de chance. Fondamentalement, j'ai Eclipse (3.3) avec PHP Development Tools (PDT), et le plugin PDT XDebug ainsi que le plugin SimpleTest eclipse.Comment pouvez-vous configurer PHP + xDebug + (x) Unit + Eclipse pour travailler avec des points d'arrêt dans les tests unitaires?

Ce que je veux faire est le code de débogage invoqué par les tests unitaires SimpleTest. SimpleTest peut clairement voir XDebug, car je peux générer des rapports de couverture de code, mais cela ne s'arrêtera pas sur les 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 docs autour et peu d'informations utiles.

Merci!

Répondre

3

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 

font ensuite un apachectl graceful et un phpinfo et assurez-vous XDebug est présent et actif. Si c'est le cas, tout devrait bien fonctionner. Je sais que c'est pour moi.

modifier: J'ai répondu avant de lire toute la question. Avant d'exécuter le script, vous devez définir la variable d'environnement avant d'exécuter le script

export XDEBUG_CONFIG="idekey=session_name" 

Il pourrait ê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 Le module apache l'a, mais l'interpréteur CLI par défaut ne le fait pas, mais je cours exprès différentes versions.

Il y a quelques good documentation ici

0

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.(...) 
    
        (...) 
    
Questions connexes