PHPUnit 3.5 + VisualPHPUnit

85 views
Skip to first unread message

Jorge T.M.

unread,
Oct 12, 2011, 6:18:10 AM10/12/11
to SIFO, PHP framework
Buenas,

Acabo de subir a GitHub y a este repositorio la librería PHPUnit 3.5
con un añadido llamado VisualPHPUnit.

- Objetivo

Entiendo que para todo el mundo (me incluyo) sea una pesadez
implementar tests unitarios de todo el código que vayamos haciendo,
pero ya que SIFO es público creo que lo mínimo que hay que ofrecer es
una herramienta para desarrollarlos y una forma de ver que los cambios
que se hagan en las librerías del framework no vayan a romper nada.
Esto facilita los pull requests de GitHub.


- ¿Qué es VisualPHPUnit (VPU)?

Es una extensión de PHPUnit para poder ejecutar los unit-tests en
navegador y obtener información sobre los suites ejecutados y sus
tests. Ofrece un report con el estado de los tests, el tiempo de
ejecución y el code coverage entre otras cosas. Una pequeña muestra:

http://dl.dropbox.com/u/7497154/sifotest01.png
http://dl.dropbox.com/u/7497154/sifotest02.png

El VPU tiene muchas opciones, a destacar la posibilidad de ejecutar
varios tests a la vez y obtener reports por separado. Os invito a que
lo probéis.


- Formato de los tests

Hasta ahora solo he migrado dos UTs de las librerías de SIFO:
BenchmarkTest y CacheDiskTest. Echadle un ojo y veréis que implementar
tests de libs es muy sencillo, no hacen falta magias extrañas.


- Code Coverage

El report de Code Coverage es opcional, y solo funcionará si
especificamos que queremos incluir ese archivo (usando la clase
CoverageAnalysis) y si tenemos instalado xdebug. En caso de que
definais archivos para el coverage y no tengais instalado xdebug no os
preocupeis, no va a dar ningun error chungo.


- Instalación

La forma más sencilla de instalar todo el tinglao es crear un nuevo
VirtualHost en vuestro apache tal que:

<VirtualHost *:80>
ServerName sifotest.vm
ServerAlias *.sifotest.vm
DocumentRoot "/mnt/htdocs/SIFO/libs/PHPUnit-3.5.0/
VisualPHPUnit"
</VirtualHost>

Reiniciad apache y ya tendréis disponible la aplicación en http://sifotest.vm/


Creo que eso es todo, si veis que algo no funciona o teneis alguna
duda la resolveré encantado.

Saludos!

Pablo Ros Gómez

unread,
Oct 12, 2011, 6:39:45 AM10/12/11
to sif...@googlegroups.com
En dos palabras IM PRESIONANTE!
Que tal esta documentación en inglés y la colocamos en http://sifo.me? Es un pecado que esto exista y que el mundo no lo conozca!!! :)

Saludos!

2011/10/12 Jorge T.M. <the...@gmail.com>

Jorge T.M.

unread,
Oct 12, 2011, 7:29:13 AM10/12/11
to SIFO, PHP framework
OK, si tengo un rato esta tarde me bajo sifo-web y la modifico yo
mismo

Saludos!

On Oct 12, 12:39 pm, Pablo Ros Gómez <pablo....@gmail.com> wrote:
> En dos palabras IM PRESIONANTE!
> Que tal esta documentación en inglés y la colocamos enhttp://sifo.me?Es un

Albert Lombarte

unread,
Oct 12, 2011, 4:25:23 PM10/12/11
to sif...@googlegroups.com
Hola Jorge,

Acabo de crear el virtualhost y ejecutarlo. No he mirado una sola línea de código, pero hay un warning de undefined constant __DIR__ lo que significa que el testing solo funcionará para 5.3. He tocado el config de PHPUnit para sustituir el __DIR__ pero luego sigue petando. Efectivamente está pensado para 5.3. 


Notice: Use of undefined constant __DIR__ - assumed '__DIR__' in /var/www/seoframework/libs/PHPUnit-3.5.0/VisualPHPUnit/config.php on line 41

Warning: opendir(/history/) [function.opendir]: failed to open dir: No such file or directory in /var/www/seoframework/libs/PHPUnit-3.5.0/VisualPHPUnit/index.php on line 87

Warning: readdir(): supplied argument is not a valid Directory resource in /var/www/seoframework/libs/PHPUnit-3.5.0/VisualPHPUnit/index.php on line 88

Warning: closedir(): supplied argument is not a valid Directory resource in /var/www/seoframework/libs/PHPUnit-3.5.0/VisualPHPUnit/index.php on line 93



2011/10/12 Jorge T.M. <the...@gmail.com>

Jorge Tarrero

unread,
Oct 12, 2011, 4:35:03 PM10/12/11
to sif...@googlegroups.com

Vaya por dios, a ver si lo puedo arreglar

Albert Lombarte

unread,
Oct 12, 2011, 4:48:24 PM10/12/11
to sif...@googlegroups.com
No te preocupes. Este commit ya entra dentro de SIFO para 5.3

2011/10/12 Jorge Tarrero <the...@gmail.com>

Manuel Carballar Miras

unread,
Oct 12, 2011, 6:10:14 PM10/12/11
to sif...@googlegroups.com
Muy buen trabajo Jorge!!! pinta muy bien!!!! :)
A mas es agradable de ver!!!!

Saludos,
Manu

Sergio Ambel Santoyo

unread,
Jun 25, 2012, 5:03:47 AM6/25/12
to sif...@googlegroups.com
Hola,

recientemente he subido unos cambios que nos permitirán trabajar los UT desde nuestro IDE. La configuración es muy sencilla, os la paso para PHPStorm:

Para poder correr los test
Vamos a settings de PHPStorm y le decimos dónde encontrar un pequeño script que he subido.


Ahora, haciendo clic sobre el botón derecho en un test ya nos aparece la opción para correrlo (sólo o con Coverage).

Si hacéis el clic sobre un método en el código, phpStorm os deja hacer teste de sólo ese método. Algo realmente útil.

Para generar el esqueleto de los tests:
Vamos a settings de PHPStorm y le decimos dónde encontrar un nuevo bootstrap con este objetivo y la aplicación php-skeleton-generator que he subido a libs:


Veréis que, además, necesitaréis disponer de un php.exe. Seguid los mensajes que os vaya mostrando el PHPStorm y veréis que no representa complicación.


Un saludo a todos.


-Sergio


El dimecres 12 d’octubre de 2011 12:18:10 UTC+2, Jorge T.M. va escriure:
Reply all
Reply to author
Forward
0 new messages