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!