Avatar ·

كيفية تنظيم وتشغيل الاختبارات في Go للحزم الموجودة في المجلدات الفرعية المتداخلة؟

مرحباً بالجميع! أنا أتعلم Go وواجهت مشكلة عند كتابة اختبارات لمشروع له هيكل مع مجلدات فرعية. مشروعي يبدو هكذا: ``` myapp/ ├── main.go ├── handlers/ │ ├── user.go │ └── user_test.go ├── models/ │ ├── user.go │ └── user_test.go └── utils/ └── helpers.go ``` في ملف `handlers/user_test.go` أحاول استيراد دوال من `utils/helpers.go`، ولكن عند تشغيل `go test ./...` من جذر المشروع تفشل الاختبارات مع خطأ مثل "undefined: SomeFunction" أو "package myapp/utils is not in GOROOT". إذا قمت بتشغيل `go test` من داخل مجلد `handlers/`، فإن الاختبارات تعمل، ولكن فقط إذا لم تحتوي على استيرادات من حزمي الأخرى. قرأت أن Go يجد الاختبارات بنفسه، لكنني لا أستطيع فهم كيفية ربط الاختبارات في المجلدات الفرعية بشكل صحيح مع أجزاء أخرى من المشروع. أرجو إرشادي، كيف يمكن تنظيم الاختبارات في المجلدات الفرعية بشكل صحيح؟ هل أحتاج إلى تكوين خاص لـ go.mod أو مسارات الاستيراد؟ وكيف يمكن تشغيل جميع الاختبارات مرة واحدة بحيث يعمل؟