كيفية تخطي الاختبارات عند استخدام مفاعل Maven؟

StackOverflow https://stackoverflow.com/questions/4244372

  •  27-09-2019
  •  | 
  •  

سؤال

أنا أعمل على مشروع Maven Multi-Modules. أرغب في إنشاء وحدة نمطية معينة وتخطي اختبارات الوحدة لتسريع عملية الإنشاء.

لقد جربت ما يلي:

mvn reactor:make -Dmake.folders=search -Dgoals=package,-DskipTests

mvn reactor:make -Dmake.folders=search -Dgoals=package -Dmaven.test.skip=True

ومع ذلك ، هذا ليس له تأثير على الإطلاق. أي أدلة؟

هل كانت مفيدة؟

المحلول

يبدو خطك الأول مثل الفكرة الصحيحة ، ولكن بدلاً من -Dgoals يجب أن تستخدم -Dmake.goals.

من صفحة أمثلة مكون الإضافات مفاعل:

يطلق المكون الإضافي للمفاعل نسخة ثانية من Maven للقيام بسحره. لا تحتوي هذه النسخة من Maven بالضرورة على جميع الأعلام والخيارات التي انتقلت إلى نسختك الأولى من Maven ، بما في ذلك -علم -خصائص النظام ، و -dskiptests.

يمكنك تمرير حجج إضافية إلى Maven التي تولد من خلال معاملتها كأهداف مع -dmake.goals ، مثل هذا:

mvn reactor:resume -Dmake.folders=barBusinessLogic -Dmake.goals=install,-DskipTests

وبعبارة أخرى ، فإن "الأهداف" هي مجرد معلمات سطر الأوامر الإضافية التي تم تمريرها إلى Maven المولد ؛ ليس عليهم بالضرورة أن يكونوا "أهداف".

إذا كنت ترغب في الحصول على خيال حقًا ، فقد تفضل فقط تشغيل البرنامج المساعد للمفاعل في وضع dmake.printonly ، الموضح أعلاه. سيؤدي ذلك إلى طباعة الأمر الذي كان سيستخدمه المكون الإضافي لبناءه ، ولكن يمكنك تعديل سطر الأوامر هذا إلى محتوى قلبك!

نصائح أخرى

بالنظر إلى هيكل المشروع

/
  A/pom.xml
  B/pom.xml
  C/pom.xml
  D/pom.xml
  E/pom.xml
  pom.xml (parent pom file that includes A,B,C,D,E modules)

على غرار الخاص بك

mvn reactor:make -Dmake.folders=C,D,E -Dgoals=package -Dmaven.test.skip=True

على الرغم من أنني لست متأكدًا مما إذا كان مقاربي يفعل بالضبط ما يفعله البرنامج المساعد للمفاعل ، لكنني وجدت أن النهج التالي يعمل بشكل جيد بما يكفي بالنسبة لي

mvn -pl=C,D,E -DskipTests=true package

هل حاولت تضمين الخيار -dmaven.test.skip = true (لاحظ الحالة) إلى وسيطة سطر الأوامر الخاصة بك التي تقوم بتشغيلها؟ مثل Java ، Maven حساس للحالة. ولكن عمومًا ، يمكنك إسقاط الجزء الحقيقي ، ويجب أن يتسبب ذلك أيضًا في تخطي الاختبارات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top