49 votes

Une "interface Web" pour les tests PHPUnit ?

Existe-t-il une simple "interface Web" pour exécuter les suites de tests PHPUnit ? c'est-à-dire un script PHP qui exécute le test sur la ligne de commande, et sort un résultat HTML joliment formaté.

Je développe des applications web, et le flux de travail quotidien passe généralement de l'IDE au navigateur. J'aimerais que les tests unitaires soient effectués dans le même environnement.

Je cherche quelque chose de très simple et basé sur le PHP. J'ai l'intention de me lancer dans phpUnderControl (qui a les fonctionnalités que je recherche) mais pas encore.

0 votes

+1 Dis Pekka, tu n'es pas capable de lire dans mes pensées, n'est-ce pas ?

0 votes

@middus il y a étonnant coïncidences sur SO parfois. :)

0 votes

Vous pouvez également vous intéresser à Hudson comme alternative à phpUnderControl. Un bon article (avec de bonnes références en ligne) sur la façon de le configurer peut être trouvé à l'adresse suivante luhman.org/blog/2009/12/16/

26voto

edorian Points 22780

J'ai récemment découvert Visual PHPUnit qui ressemble à une interface très très agréable pour tous ceux qui ne veulent pas exécuter PHPUnit depuis la ligne de commande :

Visual PHPUnit

Il semble qu'il s'agisse de la prochaine itération de @Matt. PHPUnit Test Report

3 votes

Est-il possible de l'installer sans poire configuration ?

21voto

Matt Points 3858

Je comprends votre frustration - je suis moi-même un gars de l'assurance-chômage. Regarder le terminal trop longtemps me fait tourner la tête. J'ai écrit une petite application rapide qui pourrait vous être utile.

PHPUnit test application
(source : <a href="http://mattmueller.me/blog/wp-content/uploads/2010/06/test.png" rel="nofollow noreferrer">mattmueller.me </a>)

Vous pouvez le trouver ici : http://mattmueller.me/blog/introducing-phpunit-test-report

A la vôtre ! Matt

6 votes

La solution de Matt est excellente et avec cette fourche, elle est encore meilleure. github.com/NSinopoli/VisualPHPUnit Les pouces en l'air !

3 votes

Votre lien est cassé

18voto

Motin Points 1004

Après plusieurs heures de recherche récemment, le meilleur front-end web PHPUnit que j'ai rencontré était https://github.com/NSinopoli/VisualPHPUnit

14voto

Gordon Points 156415

Vous pouvez utiliser phing pour exécuter un PHPUnitTask et ensuite convertir la sortie avec :

  • PHPUnitReport - Cette tâche transforme les rapports xml de PHPUnit en HTML en utilisant XSLT.

Exemple :

<phpunitreport infile="reports/testsuites.xml" 
    format="frames" 
    todir="reports/tests" 
    styledir="/home/phing/etc"/>

Voir phpunit --help pour les différents formats de sortie.

La version 2.3 de PHPUnit comportait un chapitre sur ce sujet, mais il a disparu depuis un certain temps maintenant. Vous pouvez peut-être trouver une ancienne copie quelque part avec Google.

Puisque vous mentionnez que c'est pour phpUnderControl : si vous n'êtes pas fixé sur ce point, envisagez d'utiliser Jenkins et http://jenkins-php.org .

Remarque : à moins que nous parlions de serveurs de CI, la plupart des gens que je connais n'utilisent pas PHPUnit via une interface web. Ils utilisent soit la ligne de commande, soit l'intégration de leur IDE.

0 votes

Merci @Gordon, cela semble intéressant. J'aimerais cependant contourner la dépendance supplémentaire, je vais donc essayer l'article de blog que j'ai trouvé en premier (voir ci-dessous). Si cela ne fonctionne pas, je reviendrai sur ce sujet.

0 votes

@Pekka l'approche dans l'article de blog semble similaire. Elle utilise également le XML et le reformate ensuite en HTML. Si vous ne voulez pas utiliser Phing, vous pouvez simplement récupérer le XML de PHPUnit et utiliser le XSLT de Phing pour le transformer de manière programmatique avec PHP. Je pense que les fichiers XSL sont ici : phing.info/trac/browser/trunk/etc

0 votes

Je n'ai pas été en mesure d'utiliser ces outils étant un débutant avec phpunit. J'ai créé 2 fichiers pour chaque outil et je n'ai aucune idée de ce qu'il faut en faire.

7voto

Tom Points 5641

Vous pouvez utiliser Jenkins pour exécuter tout type de tâches, y compris les tests PHPUnit. Il peut automatiquement vérifier votre application, exécuter les tests, construire un rapport HTML et même vous envoyer un e-mail si la construction échoue.

Voici les modèles vous devez configurer Jenkins pour construire un tas de rapports et de statistiques intéressants à partir de votre projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X