"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية حل تبعيات الاختبار في تكوينات Gradle متعددة المشاريع؟

كيفية حل تبعيات الاختبار في تكوينات Gradle متعددة المشاريع؟

تم النشر بتاريخ 2024-11-08
تصفح:588

How to Resolve Test Dependencies in Multi-Project Gradle Configurations?

حل تبعيات الاختبار في تكوينات Gradle متعددة المشاريع

عند العمل مع تصميمات متعددة المشاريع في Gradle، من الضروري إنشاء تبعيات فعالة بين كود الاختبار عبر المشاريع. ضع في اعتبارك سيناريو حيث يوجد المشروع أ والمشروع ب، مع اعتماد المشروع ب على مكونات من المشروع أ.

بيان المشكلة

في هذه الحالة، قد يبدو build.gradle للمشروع B كما يلي :

apply plugin: 'java'
dependencies {
  compile project(':ProjectA')
}

ومع ذلك، فشلت مهمة CompilTestJava في تجميع كود الاختبار من المشروع A. ويشير هذا إلى وجود فجوة في التكوين المطلوب للوصول إلى تبعيات الاختبار من المشروع الآخر.

الحل

لمعالجة هذه المشكلة، يمكن تحديث build.gradle الخاص بالمشروع B باستخدام تبعية testCompile:

dependencies {
  ...
  testCompile project(':A').sourceSets.test.output
}

تضمن هذه التبعية الجديدة أن كود اختبار المشروع B لديه حق الوصول إلى فئات الاختبار المترجمة من المشروع A. باستخدام sourceSets.test.output، يقوم Gradle بحل دليل الإخراج حيث يتم وضع فئات الاختبار أثناء الإنشاء.

تم اختبار هذا التكوين بنجاح باستخدام Gradle 1.7. يرجى ملاحظة أنه بالنسبة لإصدارات Gradle 5.6 والإصدارات الأحدث، يلزم وجود حل مختلف ويتم توثيقه بشكل منفصل.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3