Pruebas
Pruebas en PHP
Chamilo utiliza PHPUnit para las pruebas del backend.
Configuración de la Base de Datos de Pruebas
Las pruebas requieren una base de datos dedicada. Crea el archivo .env.test.local con las credenciales de tu base de datos de pruebas:
DATABASE_HOST='127.0.0.1'
DATABASE_PORT='3306'
DATABASE_NAME='chamilo_test'
DATABASE_USER='root'
DATABASE_PASSWORD='root'Luego, inicializa la base de datos de pruebas:
php bin/console --env=test cache:clear
php bin/console --env=test doctrine:database:create
php bin/console --env=test doctrine:schema:create
php bin/console --env=test doctrine:fixtures:load --no-interactionPara restablecer después de cambios en el esquema:
php bin/console --env=test doctrine:schema:update --force --completeEjecución de Pruebas
Ubicación de las Pruebas
Las pruebas se encuentran en el directorio tests/:
Tipos de Pruebas
Pruebas unitarias/integración — Pruebas de PHPUnit en
CoreBundle/yCourseBundle/; la mayoría interactúan con una base de datos real (a través dedama/doctrine-test-bundle)Pruebas funcionales (API) — Extienden
AbstractApiTesty prueban endpoints HTTP de extremo a extremoPruebas Behat — Pruebas de aceptación a nivel de navegador en
tests/behat/features/(ver más abajo)
Pruebas Behat (de Extremo a Extremo)
Chamilo cuenta con un conjunto de pruebas Behat para pruebas de aceptación a nivel de navegador. Requiere una instancia de Chamilo en ejecución, Chrome y ChromeDriver.
Configura la URL base en tests/behat/behat.yml antes de ejecutar las pruebas.
Verificaciones del Frontend
Calidad del Código PHP
Chamilo utiliza ECS (Easy Coding Standard), PHPStan y Psalm para la calidad del código. Hay accesos directos de Composer disponibles para cada uno:
Nota: no hay php-cs-fixer en este proyecto. ECS (symplify/easy-coding-standard) es la herramienta de estilo de código.
Integración Continua
Las solicitudes de extracción (pull requests) son verificadas automáticamente por cuatro flujos de trabajo de GitHub Actions:
phpunit.yml
Conjunto de pruebas de PHPUnit
format_code.yml
Verificación de estilo de código con ECS
php_analysis.yml
Psalm, validación de esquema de Doctrine, verificador de seguridad
behat.yml
Pruebas de extremo a extremo con Behat
Última actualización
¿Te fue útil?