Me preguntaba si alguien que tenga experiencia en estas dos cosas puede arrojar algo de luz sobre la diferencia significativa entre los dos, en su caso.
¿Alguna fortaleza específica de cada uno que lo haga adecuado para cualquier caso específico?
Me preguntaba si alguien que tenga experiencia en estas dos cosas puede arrojar algo de luz sobre la diferencia significativa entre los dos, en su caso.
¿Alguna fortaleza específica de cada uno que lo haga adecuado para cualquier caso específico?
Respuestas:
Esta pregunta está bastante anticuada, pero como todavía está recibiendo tráfico y respuestas, aunque declaro mi punto aquí nuevamente, así que ya lo hice en otras preguntas (más nuevas).
Estoy realmente desconcertado de que SimpleTest todavía se considere una alternativa a phpunit. Tal vez solo estoy mal informado, pero por lo que he visto:
web interface to phpunit tests
.Todavía no he visto ningún argumento a favor de SimpleTest. Ni siquiera es más sencillo de instalar ya que PHPUnit está disponible a través de pear:
pear channel-discover pear.phpunit.de
pear install phpunit/PHPUnit
y la "primera prueba" se ve más o menos igual.
A partir de PHPUnit 3.7
esto, es aún más fácil instalarlo simplemente usando elPHAR Archive
wget http://pear.phpunit.de/get/phpunit.phar
chmod +x phpunit-3.7.6.phar
o para Windows simplemente descargando el phar y ejecutándolo:
php phpunit-.phar
o al usar el compositor compatible instalar formas como
"require-dev": {
"phpunit/phpunit": "3.7.*"
}
a tu compositor.json.
Para todo lo que desee probar, PHPUnit tendrá una solución y podrá encontrar ayuda prácticamente en cualquier lugar (SO, #phpunit irc channel en freenode, casi todos los desarrolladores de php;))
Por favor corrígeme si he dicho algo mal u olvidado algo :)
Video: http://conference.phpnw.org.uk/phpnw11/schedule/sebastian-bergmann/
Diapositivas: http://www.slideshare.net/sebastian_bergmann/the-php-testers-toolbox-osi-days-2011
Menciona cosas como Atoum que se autodenomina: "¡Un marco de prueba de unidad simple, moderno e intuitivo para PHP!"
Originalmente escribí esta respuesta en enero de 2011, donde no tenía afiliación con ningún proyecto de PHP Testing. Desde entonces me convertí en colaborador de PHPUnit.
include
usar los archivos SimpleTest .PHP (como han explicado otros). para los programadores profesionales construir a cabo su propio entorno de pruebas PHPUnit suena difícil de superar, pero si la integración de un sistema de prueba en una aplicación de código abierto basado en PHP donde "promotores" de la aplicación pueden ser, en el mejor (lo que llamo) "programadores ocupacionales" a continuación, la simplicidad de SimpleTest tiene un atractivo real, para mí de todos modos. FWIW
Prefiero PHPUnit ahora, pero cuando comencé usé SimpleTest ya que no siempre tenía acceso a la línea de comando. SimpleTest es bueno, pero lo único que realmente tiene sobre PHPUnit, en mi opinión, es el corredor web.
Las razones por las que me gusta PHPUnit son que se integra con otras herramientas de desarrollo de PHP, como phing (como lo hace SimpleTest), phpUnderControl y Xinc . A partir de la versión 3.0, tiene soporte de burla , se está desarrollando activamente y la documentación es excelente.
Realmente, la única forma de responder a esta pregunta es probar ambos por un tiempo y ver cuál se adapta mejor a su estilo.
EDITAR: Phing ahora también se integra con SimpleTest.
Sin embargo, podría entender fácilmente cómo instalar SimpleTest.
(Hasta donde puedo recordar, las instrucciones para PHPUnit dijeron algo como "instalarlo a través de PEAR y no daremos ninguna instrucción sobre cómo hacerlo de otra manera") vea:
Para SimpleTest , simplemente descárguelo y apúntelo desde su código.
Tan simple ganó para mí.
Baphled tiene un buen artículo sobre SimpleTest vs PHPUnit3 .
La mitad de los puntos mencionados en la respuesta aceptada simplemente no son ciertos:
SimpleTest tiene
La baja:
Encontré que SimpleTest era incluso más fácil de configurar que PHPUnit. Simplemente extráigalo y listo. Una ventaja de esto es si está trabajando en más de una máquina, ya que puede almacenar todo el marco de prueba de la misma manera que su código fuente y, por lo tanto, saber que está usando el mismo código de marco. Especialmente si lo modifica de alguna manera.
Entonces, diría que una ventaja de SimpleTest es que es muy ligero y portátil.
SimpleTest también se entrega con una GUI HTML muy simple, que es bastante fácil de ampliar si lo desea. Hasta donde yo sé, PHPUnit no incluye una GUI HTML, pero hay GUI disponibles para descargar, como Cool .
Bueno, hice un corredor de caso de prueba de interfaz de usuario basado en web phpUnit y lo hice disponible en sourceforge. Utiliza ajax y también tiene una interfaz bastante buena si quieres darle una oportunidad, compruébalo en sourceforge. El nombre del proyecto es phpunitwebui y el sitio web es http://phpunitwebui.sourceforge.net/
Como se ha señalado, es principalmente una opción de preferencia, ya que ambos ejecutarán las pruebas que usted escriba para ello e informarán los resultados.
La interfaz de usuario web más simple es muy útil, pero a veces también puede ser engorrosa. En mi proyecto actual, habría tenido que poner más trabajo en un sistema para hacer que mi aplicación (una API) funcione con la interfaz web (configurar apache correctamente, copiar archivos a la raíz public_html, etc.) de lo que hubiera sido simplemente ejecutar phpunit desde el espacio de trabajo de eclipse. Por lo tanto, elijo PHPUnit. Además, el uso de PEAR fue una gran ventaja, ya que no es necesario realizar un seguimiento manual de las actualizaciones. Simplemente ejecute de pear upgrade
vez en cuando y PHPUnit se mantendrá actualizado.
Esto es desde el punto de vista de un desarrollador PHP muy informal:
Me tomó dos días comprender PHPUnit, principalmente tratando de depurar bajo Eclipse que finalmente renuncié.
Me llevó dos horas configurar Simpletest, incluida la depuración en Eclipse.
Tal vez encuentre las deficiencias de Simpletest en el futuro, pero hasta ahora hace lo que necesito: TestClasses, objetos simulados, depuración de código de prueba e interfaz web para una instantánea rápida de la situación.
De nuevo: esto desde el punto de vista de un usuario PHP muy informal (ni siquiera desarrollador :-)
No he verificado la Prueba simple durante un tiempo, la última vez que tenía un complemento de eclipse, que es un factor importante para mí, pero no se ha actualizado durante mucho tiempo. Sebastian Bergmann todavía está trabajando muy activamente en PHPUnit, pero aún carece de un buen complemento para eclipse, pero está incluido para el nuevo Zend Studio.
Esta pregunta es antigua, pero quiero agregar mi experiencia: PHPUnit parece ser el estándar ahora, pero si trabaja con un sistema heredado que utiliza muchas variables globales, puede quedarse atascado desde el principio. Parece que no hay una buena manera de hacer pruebas con variables globales en PHPUnit, parece que tiene que configurar sus variables a través de $ GLOBALS, lo cual NO ES BUENO si tiene toneladas de archivos configurando variables globales en todas partes. Bien, algunos pueden decir que el problema está en el sistema heredado, pero eso no significa que no podamos hacer pruebas en dicho sistema. Con SimpleTest tal cosa es simple. Supongo que si PHPUnit nos permite incluir un archivo globalmente, no dentro de ningún alcance de clase / función, entonces tampoco sería un gran problema.
Otra solución prometedora es http://www.enhance-php.com , se ve bien :)
<phpunit backupGlobals="false">
en la configuración XML y nunca tuve problemas con los globales en las pruebas ...
global $xxx
y todas sus combinaciones, antes de intentar --no-globals-backup
y de repente ver todo trabajando como se esperaba. : D
cuando hay miles de funciones para probar de una vez, phpunit es el camino a seguir, la prueba simple se queda corta ya que se basa en la web.
Todavía estoy usando web simple para pruebas a pequeña escala.
Pero ambos son buenos