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

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é