Avatar ·

كيفية تشغيل جميع الاختبارات في مشروع Go باستخدام `go test`؟

مرحباً بالجميع! أنا مبتدئ في Go وأحاول فهم كيفية إجراء الاختبارات. لدي مشروع يحتوي على عدة حزم، وفي كل منها ملفات اختبار خاصة (مثل `main_test.go`، `utils_test.go`، `api_test.go`). أريد تشغيل جميع الاختبارات في المشروع بأكمله بأمر واحد، لكنني لا أفهم كيفية القيام بذلك بشكل صحيح. جربت خيارات مختلفة: `go test`، `go test ./...`، لكن النتائج كانت مختلفة. أحياناً لا يتم تشغيل الاختبارات على الإطلاق، وأحياناً فقط في الدليل الحالي. إليك مثال على هيكل مشروعي: ``` myproject/ ├── main.go ├── main_test.go ├── utils/ │ ├── helpers.go │ └── helpers_test.go └── api/ ├── handlers.go └── handlers_test.go ``` عندما أكون في جذر المشروع وأكتب `go test`، يتم تشغيل الاختبارات من `main_test.go` فقط، بينما يتم تجاهل الاختبارات في المجلدات الفرعية `utils` و `api`. إذا كتبت `go test ./...`، أحصل على خطأ: `go: no test files` لبعض الحزم (مثلاً للحزمة الجذرية إذا لم تكن هناك اختبارات). كيف يمكنني تشغيل جميع الاختبارات بشكل صحيح؟