كيفية تخطي الاختبارات عند استخدام مفاعل Maven؟
-
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 حساس للحالة. ولكن عمومًا ، يمكنك إسقاط الجزء الحقيقي ، ويجب أن يتسبب ذلك أيضًا في تخطي الاختبارات.