Accélérer les Tests

Les tests actuels, pour un certain nombre ont été basées sur la création automatique de jeux de données afin de faire tester un grand nombre de scénarios à des fonctions existantes.

Alors ça fonctionne, mais ce n’est pas très efficace : ça fait traiter une grande quantité de tests inutilement.

En tâche de fond donc :

  • rendre pertinents et plus succincts les jeux de tests (avec providers notamment)

Également grouper les tests par éléments, en créant des groupes, notamment :

  • Bdd
  • Squelettes

Avec les options de phpunit, ça permet de lancer juste une partie des tests (notamment pour pouvoir exclure la bdd et squelettes par exemple qui sont plus longs à exécuter)

  --list-groups                    List available test groups
  --group <name>                   Only run tests from the specified group(s)
  --exclude-group <name>           Exclude tests from the specified group(s)

On attribue les groupes avec des attributs (anciennement annotations) https://docs.phpunit.de/en/10.0/attributes.html

Accessoirement, il faut migrer les @annotations en #[Attributs]