Tests
Tests PHP
Chamilo utilise PHPUnit pour les tests backend.
Configuration de la base de données de test
Les tests nécessitent une base de données dédiée. Créez un fichier .env.test.local avec les identifiants de votre base de données de test :
DATABASE_HOST='127.0.0.1'
DATABASE_PORT='3306'
DATABASE_NAME='chamilo_test'
DATABASE_USER='root'
DATABASE_PASSWORD='root'Ensuite, initialisez la base de données de test :
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-interactionPour réinitialiser après des modifications du schéma :
php bin/console --env=test doctrine:schema:update --force --completeExécution des tests
Emplacement des tests
Les tests se trouvent dans le répertoire tests/ :
Types de tests
Tests unitaires/intégration — Tests PHPUnit dans
CoreBundle/etCourseBundle/; la plupart accèdent à une véritable base de données (viadama/doctrine-test-bundle)Tests fonctionnels (API) — Étendent
AbstractApiTestet testent les points de terminaison HTTP de bout en boutTests Behat — Tests d'acceptation au niveau du navigateur dans
tests/behat/features/(voir ci-dessous)
Tests Behat (de bout en bout)
Chamilo dispose d'une suite de tests Behat pour les tests d'acceptation au niveau du navigateur. Cela nécessite une instance de Chamilo en cours d'exécution, Chrome et ChromeDriver.
Configurez l'URL de base dans tests/behat/behat.yml avant de lancer les tests.
Vérifications Frontend
Qualité du code PHP
Chamilo utilise ECS (Easy Coding Standard), PHPStan et Psalm pour la qualité du code. Des raccourcis Composer sont disponibles pour chacun :
Remarque : il n'y a pas de php-cs-fixer dans ce projet. ECS (symplify/easy-coding-standard) est l'outil de style de code.
Intégration Continue
Les pull requests sont automatiquement vérifiées par quatre workflows GitHub Actions :
phpunit.yml
Suite de tests PHPUnit
format_code.yml
Vérification du style de code ECS
php_analysis.yml
Psalm, validation du schéma Doctrine, vérificateur de sécurité
behat.yml
Tests de bout en bout Behat
Mis à jour
Ce contenu vous a-t-il été utile ?