-
La finalidad de este repo es meramente ilustrativa con la única intención de demostrar las prácticas de desarrollo con el framework Symfony desarrollando un aplicativo web para una asesoría laboral/fiscal. Este repo es una copia modificada no funcional del original con una pequeña muestra de los ficheros originales.
-
Explicación del proyecto en:
-
En el fichero README2.md se podrá encontrar un recorte del fichero orginal que he empleado para ir documentando la aplicación y comandos útiles de mantenimiento.
-
En el proyecto actual empleo Docker, Nginx, Mysql, Symfony Forms, Symfony Workflow, Symfony Messenger (colas asíncronas), Listener de cambios (registro de cambios en cada entidad), DTOs, Casos de Uso, Interfaces, Services, Filters de base de datos, DataTransformes, FormTypes para crear agrupaciones de botones (menús), Voters, Security, Roles de usuario, Impersonación de usuarios (acceder en nombre de un usuario), Tests unitarios y de cobertura
make ssh-be
Utilizar bootstrap.php
para ejecutar las instrucciones necesitadas en cada lanzamiento de phpunit
vendor/bin/phpunit
appuser@e456b5372541:/appdata/www$ vendor/bin/phpunit --testdox
PHPUnit 10.5.46 by Sebastian Bergmann and contributors.
Runtime: PHP 8.2.28
Configuration: /appdata/www/phpunit.xml.dist
Random Seed: 1747092723
....................... 23 / 23 (100%)
Time: 00:00.223, Memory: 14.00 MB
Actividad
✔ Get id
✔ Set nombre
Anexo (App\Tests\Entity\Anexo)
✔ Descripcion
✔ Fechas
✔ Notificar
✔ Ficheros add remove
✔ Estado inicial como borrador
✔ Estado asignacion y recuperacion with data set 1
✔ Estado asignacion y recuperacion with data set 2
✔ Estado asignacion y recuperacion with data set 3
✔ Estado asignacion y recuperacion with data set 0
✔ Estado asignacion y recuperacion with data set 4
✔ Get icono estado with data set 4
✔ Get icono estado with data set 0
✔ Get icono estado with data set 3
✔ Get icono estado with data set 2
✔ Get icono estado with data set 1
✔ Relaciones cliente usuario
✔ Get id notificable
✔ Volver desde notificacion
✔ Uniqid eliminar temp
✔ Notas
✔ Get categoria y empleado
OK (23 tests, 34 assertions)
appuser@e456b5372541:/appdata/www$
<testsuites>
<testsuite name="todos">
<directory>tests</directory>
</testsuite>
<testsuite name="Tests Unitarios">
<directory>tests/Unit</directory>
</testsuite>
<testsuite name="Tests Integracion">
<directory>tests/Integration</directory>
</testsuite>
<testsuite name="UseCases">
<directory>tests/UseCase</directory>
</testsuite>
<testsuite name="unitario-integration-controller">
<directory>tests/Unit</directory>
<directory>tests/Integration</directory>
<directory>tests/Controller</directory>
<!-- Solo los ficheros que terminen por Abc.php -->
<directory suffix="Abc.php">tests/Admin</directory>
<!-- Solo los ficheros que terminen por Test.php -->
<directory suffix="Test.php">tests/Admin</directory>
</testsuite>
</testsuites>
-
línea de comandos común para proceder con las pruebas:
ℹ️
vendor/bin/phpunit --testsuite unit --testdox
ℹ️
vendor/bin/phpunit --testsuite unit --testdox --filter Actividad
(para solo clases, métodos -o cualquier cosa- que contenga la palabraActividad
)