import org.jboss.shrinkwrap.resolver.api.maven.Maven;
import org.jboss.shrinkwrap.resolver.api.maven.MavenResolverSystem;

MavenResolverSystem resolver = Maven.configureResolver()
    .fromFile("/path/to/test-settings.xml");

استخدم resolver لعمليات الحل اللاحقة. إنشاءه ثم استدعاء resolver افتراضي آخر يترك الإعداد على الكائن غير المستخدم. يمكن لاختبار Arquillian إنشاء جلسة المستودع هذه بعد أن يكون Maven قد بدأ عملية الاختبار، لذا فإن تنزيلًا سابقًا من سطر الأوامر لا يثبت مدخلاته.

يستخدم الملف المحدد صيغة إعدادات Maven. داخل settings، المسار الأدنى هو:

<proxies>
  <proxy>
    <id>test-network</id>
    <active>true</active>
    <protocol>http</protocol>
    <host>proxy.example.net</host>
    <port>8080</port>
    <nonProxyHosts>localhost|*.internal.example.net</nonProxyHosts>
  </proxy>
</proxies>

استبدل المسار ونقطة النهاية والتجاوزات المقصودة. لا يحتوي المضيف على بادئة URL. إذا سُمح لـ resolver الاختبار هذا بالوصول إلى مستودع عام عبر وسيط عام غير موثّق، فإن قائمة بروكسي HTTP توفّر قيم المضيف/المنفذ المرشحة؛ تحقق من الوصول إلى المستودع الفعلي. وفّر مصادقة البروكسي عبر الإعدادات المدعومة؛ حسابات المستودع/الخادم تصادق على خدمة مختلفة.

التنفيذ المُصان يحمّل إدخالات البروكسي النشطة من نموذج الإعدادات إلى محدّد جلسة المستودع. تأخذ الإعدادات الافتراضية أيضًا في الحسبان مواقع إعدادات المستخدم/العامة؛ الملف الصريح يساعد عندما يكون لـ IDE أو عامل البناء أو مشغّل الاختبار دليل رئيسي آخر.

تحقق من مسار الإعدادات وعنوان URL للمستودع وما إذا كان الأثر يحتاج فعلاً إلى التنزيل. يمكن لمستودع مُسخّن أن يخفي مسارًا مفقودًا. يجلب resolver آثار النشر؛ عميل HTTP يستخدمه الاختبار يقوم بطلب آخر ويحتاج إعداداته الخاصة. لاختبارات Maven Surefire التي يحترم عميل HTTP فيها خصائص بروكسي JVM، اضبط مدخلات بروكسي JVM الاختبار.

مقالات ذات صلة