Je me demandais si quelqu'un ayant de l'expérience dans ces deux domaines peut faire la lumière sur la différence significative entre les deux, le cas échéant?
Une force spécifique de chacun qui le rend adapté à n'importe quel cas spécifique?
Je me demandais si quelqu'un ayant de l'expérience dans ces deux domaines peut faire la lumière sur la différence significative entre les deux, le cas échéant?
Une force spécifique de chacun qui le rend adapté à n'importe quel cas spécifique?
Réponses:
Cette question est assez datée, mais comme elle reçoit encore du trafic et des réponses, je pense que je répète mon point de vue ici même si je l'ai déjà fait sur d'autres questions (plus récentes).
Je suis vraiment déconcerté que SimpleTest soit toujours considéré comme une alternative à phpunit. Peut-être que je suis juste mal informé, mais d'après ce que j'ai vu:
web interface to phpunit tests
.Je n'ai encore vu aucun argument en faveur de SimpleTest. Ce n'est même pas plus simple à installer puisque PHPUnit est disponible via pear:
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
et le "premier test" est à peu près le même.
Depuis, PHPUnit 3.7
il est encore plus facile de l'installer en utilisant simplement lePHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
ou pour Windows, téléchargez simplement le phar et exécutez:
php phpunit-.phar
ou lors de l'utilisation des méthodes d' installation de compositeur prises en charge, telles que
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
à votre composer.json.
Pour tout ce que vous voulez tester, PHPUnit aura une solution et vous pourrez trouver de l'aide à peu près n'importe où (SO, canal #phpunit irc sur freenode, à peu près tous les développeurs php;))
Veuillez me corriger si j'ai déclaré quelque chose de mal ou oublié quelque chose :)
Vidéo: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/
Diapositives: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011
Il mentionne des trucs comme Atoum qui s'appelle lui-même: "Un framework de test unitaire simple, moderne et intuitif pour PHP!"
J'ai initialement écrit cette réponse en janvier 2011 où je n'avais aucune affiliation avec un projet de test PHP. Depuis, je suis devenu contributeur à PHPUnit.
include
ingérer les fichiers .PHP SimpleTest (comme d'autres l'ont expliqué.) Pour les programmeurs professionnels qui créent leur propre environnement de test, PHPUnit semble difficile à battre, mais si l'intégration d'un système de test dans une application open-source basée sur PHP où les «développeurs» de l'application peuvent être au mieux (ce que j'appelle) des «programmeurs professionnels», alors la simplicité de SimpleTest a un réel attrait, pour moi en tout cas. FWIW.
Je préfère PHPUnit maintenant, mais quand j'ai commencé, j'ai utilisé SimpleTest car je n'avais pas toujours accès à la ligne de commande. SimpleTest est bien, mais la seule chose qu'il a vraiment sur PHPUnit, à mon avis, c'est le web runner.
Les raisons pour lesquelles j'aime PHPUnit sont qu'il s'intègre à d'autres outils de développement PHP tels que phing (tout comme SimpleTest), phpUnderControl et Xinc . À partir de la version 3.0, il a un support moqueur , est activement développé et la documentation est excellente.
Vraiment, la seule façon de répondre à cette question par vous-même est d'essayer les deux pendant un certain temps et de voir ce qui correspond le mieux à votre style.
EDIT: Phing s'intègre désormais également à SimpleTest.
Je pourrais, cependant, comprendre facilement comment installer SimpleTest.
(Pour autant que je me souvienne, les instructions pour PHPUnit disaient quelque chose du genre "installez-le via PEAR et nous ne donnerons aucune instruction sur la façon de le faire autrement") voir:
Pour SimpleTest , téléchargez-le et pointez-le à partir de votre code.
Donc Simpletest a gagné pour moi.
Baphled a un bel article sur SimpleTest vs PHPUnit3 .
La moitié des points mentionnés dans la réponse acceptée ne sont tout simplement pas vrais:
Le mauvais côté:
J'ai trouvé que SimpleTest était encore plus facile que PHPUnit à configurer. Extrayez-le et vous êtes prêt à partir. Un avantage de ceci est si vous travaillez sur plus d'une machine, puisque vous pouvez stocker l'ensemble du framework de test de la même manière que votre code source, et ainsi savoir que vous utilisez le même code de framework. Surtout si vous le modifiez de quelque manière que ce soit.
Donc, je dirais que l'un des points forts de SimpleTest est qu'il est très léger et portable.
SimpleTest est également livré avec une interface graphique HTML très simple, qui est assez facile à étendre si vous le souhaitez. Autant que je sache, PHPUnit n'inclut pas une interface graphique HTML, mais il existe des interfaces graphiques disponibles au téléchargement, telles que Cool .
Eh bien, j'ai créé un exécuteur de cas de test d'interface utilisateur basé sur le Web phpUnit et je l'ai rendu disponible sur sourceforge. Utilise ajax et a une interface assez cool aussi si vous voulez essayer, vérifiez-le sur sourceforge. Le nom du projet est phpunitwebui et le site Web est http://phpunitwebui.sourceforge.net/
Comme cela a été souligné, il s'agit principalement d'un choix de préférence, car les deux exécuteront les tests que vous écrivez pour lui et rendront compte des résultats.
L'interface utilisateur Web Simpletest est très utile, mais elle peut aussi parfois devenir lourde. Dans mon projet actuel, j'aurais dû mettre plus de travail dans un système pour faire fonctionner mon application (une API) avec l'interface Web (configurer correctement Apache, copier des fichiers à la racine public_html, etc.) qu'il ne l'aurait été. pour exécuter simplement phpunit depuis l'espace de travail eclipse. Par conséquent, je choisis PHPUnit. De plus, l'utilisation de PEAR était un gros plus puisque vous n'avez pas besoin de suivre manuellement les mises à jour. Exécutez simplement de pear upgrade
temps en temps et PHPUnit sera tenu à jour.
C'est du point de vue d'un développeur PHP très occasionnel:
Il m'a fallu deux jours pour comprendre PHPUnit, en essayant principalement de déboguer sous Eclipse que j'ai finalement abandonné.
Il m'a fallu deux heures pour configurer Simpletest, y compris le débogage sous Eclipse.
Peut-être que je trouverai les lacunes de Simpletest dans le futur, mais jusqu'à présent, il fait bien ce dont j'ai besoin: des classes de test, des objets Mock, un débogage de code de test et une interface Web pour un aperçu rapide de la situation.
Encore une fois: Ceci du point de vue d'un utilisateur PHP très occasionnel (pas même développeur :-)
Je n'ai pas vérifié Simple Test depuis un moment, la dernière fois, il avait un plugin eclipse, ce qui est un facteur majeur pour moi, mais il n'a pas été mis à jour depuis longtemps. Sebastian Bergmann travaille toujours très activement sur PHPUnit, mais il lui manque toujours un bon plugin pour eclipse - mais il est inclus pour le nouveau Zend Studio.
Cette question est ancienne, mais je veux ajouter mon expérience: PHPUnit semble être la norme maintenant, mais si vous travaillez avec un système hérité qui utilise beaucoup de variables globales, vous risquez de rester bloqué dès le départ. Il semble qu'il n'y ait pas de bon moyen de faire des tests avec des variables globales dans PHPUnit, vous semblez devoir définir vos variables via $ GLOBALS, ce qui n'est PAS BON si vous avez des tonnes de fichiers définissant des variables globales partout. OK, certains peuvent dire que le problème est dans l'ancien système, mais cela ne signifie pas que nous ne pouvons pas faire de tests sur un tel système. Avec SimpleTest, une telle chose est simple. Je suppose que si PHPUnit nous permet d'inclure un fichier globalement, pas dans une portée de classe / fonction, ce ne serait pas trop un problème.
Une autre solution prometteuse est http://www.enhance-php.com , ça a l'air sympa :)
<phpunit backupGlobals="false">
dans la configuration XML et je n'ai jamais eu de problèmes avec les globaux dans les tests ...
global $xxx
et toutes ses combinaisons, avant d'essayer --no-globals-backup
et de tout voir soudainement fonctionne comme prévu. : D
quand il y a des milliers de fonctions à tester en une seule fois, phpunit est un chemin à parcourir, un simple test échoue car il est basé sur le Web.
J'utilise toujours le Web simple pour des tests à petite échelle.
Mais les deux sont bons