El problema
Para mejorar la calidad de mi código, he decidido intentar aprender a probar mi código utilizando Unit Testing en lugar de mis mediocres en el mejor de los casos soluciones de prueba.
Decidí instalar PHPUnit usando Composer para una biblioteca personal que me permite lograr funciones de base de datos comunes. Al principio no tenía un archivo de configuración para PHPUnit y cuando ejecuté comandos como:
$ phpunit tests/GeneralStringFunctions/GeneralStringFunctionsTest
Tenga en cuenta que este es un comando de terminal, por lo que no incluí la .php
extensión. El GeneralStringFunctionsTest mencionado anteriormente es en realidad un GeneralStringFunctionsTest.php
archivo.
El resultado es lo que esperaba:
Tiempo: 31 ms, Memoria: 2,75 Mb
OK (1 prueba, 1 afirmación)
Luego intenté usar un archivo de configuración para cargar automáticamente el conjunto de pruebas en lugar de tener que escribir manualmente el archivo cada vez. Creé un archivo llamado phpunit.xml
en mi directorio raíz e ingresé lo siguiente en el archivo: http://pastebin.com/0j0L4WBD :
<?xml version = "1.0" encoding="UTF-8" ?>
<phpunit>
<testsuites>
<testsuite name="Tests">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Ahora, cuando ejecuto el comando:
phpunit
Obtengo el siguiente resultado:
PHPUnit 4.5.0 por Sebastian Bergmann y colaboradores.
Configuración leída de /Users/muyiwa/Projects/DatabaseHelper/phpunit.xml
Tiempo: 16 ms, memoria: 1,50 Mb
¡No se han realizado pruebas!
En caso de que sea útil, la estructura de mi directorio es la siguiente:
src - Directorio de nivel superior (con todo mi código fuente)
pruebas - Directorio de nivel superior (con todas mis pruebas, estructurado igual que mi carpeta src )
proveedor - Archivos de terceros de Composer
También tengo el compositor json y el archivo de bloqueo, así como el archivo phpunit xml en el nivel superior como archivos.
Cosas que he probado
- Cambiar el directorio
phpunit.xml
atests/GeneralStringFunctions
- Cambiar el directorio
phpunit.xml
a./tests
- Mover el
phpunit.xml
archivo altests
directorio y luego cambiar el directorio para que sea en./
lugar detests
. - Agregar un atributo de sufijo a la etiqueta de directorio
phpunit.xml
para especificar "Pruebas" como sufijo explícito.
tests/GeneralStringFunctions/GeneralStringFunctionsTest
una carpeta o un nombre de archivo?