Olivier Massot 1a80feaef8 minor fixes há 10 meses atrás
..
Factory 1a80feaef8 minor fixes há 10 meses atrás
OrganizationFixtures.php f96da113d5 réparer les tests applicatifs há 1 ano atrás
PersonFixtures.php f091cff7ec apply cs fixer há 1 ano atrás
image-1.png 35dc4cf0c0 script lancement de test há 1 ano atrás
readme.md 426ad221e8 réparer les tests applicatifs há 1 ano atrás

readme.md

Générer la DB de test et charger les fixtures

Regénérer le SQL de création de la DB de test

Pour regénérer le SQL de la base de données de test, suivez ces étapes :

  1. Modifier les variable d'env dans ap2i
   php bin/console ot:setup:env --host=ci
   ls -l .env.local

Vérifiez que vous avez bien le contenu de /env/.env.staging dans .env.local

  1. Connectez-vous à MySQL dans le docker mariaDb :
   docker exec -it db bash
   nano create-test-database.sh

copier ce fichier dans "create-test-database.sh"


   DB_USER="root"
   DB_PASSWORD="mysql660"
   DB_HOST="127.0.0.1"
   DB_PORT="3306"
   DB_NAME="opentalent"
   DB_TEST_NAME="opentalent_test"

   echo "Dropping test database if it exists..."
   mysql --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT -e "DROP DATABASE IF EXISTS $DB_TEST_NAME;"

   echo "Dumping schema from the main database..."
   mysqldump --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT --default-character-set=utf8 --single-transaction=TRUE --no-data --skip-triggers "$DB_NAME" | sed 's/ AUTO_INCREMENT=[0-9]*//g' > opentalent_test.sql

   echo "Creating test database..."
   mysql --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT -e "CREATE DATABASE $DB_TEST_NAME;"

   echo "Importing schema into the test database..."
   mysql --user=$DB_USER --password=$DB_PASSWORD --host=$DB_HOST --port=$DB_PORT -D $DB_TEST_NAME < opentalent_test.sql

   echo "Database setup completed."

Ne pas faire attention à l'erreur _ERROR 1305 (42000) at line 8394: FUNCTION opentalent_test.init_varsession does not exist

Un fichier opentalent_test.sql est alors créé à la racine du projet ap2i alt text

  1. Détecter les erreurs dans les tests dans ap2i (phpunit ne les logs pas) :

    find tests/Application -name '*.php' -exec php -l {} \;
    
    1. Regénérer les vues et jouer les fixtures dans ap2i
    bin/console  doctrine:schema:update
    bin/console --env=staging d:f:l
    
  2. Pour lancer les tests (dans ap2i)

   chmod +x run_test.sh
   ./application_tests.sh

Note : Les tests sont joués de façon isolé