Dirts عبارة عن أداة بحث ثابت لاختيار اختبار الانحدار (RTS) ثابتة على مستوى الفئة أو الطريقة التي تدرك آليات حقن التبعية (DI).
| موجو | وصف |
|---|---|
class_level_select | حدد الاختبارات باستخدام نهج مستوى الفئة |
method_level_select | حدد الاختبارات باستخدام نهج مستوى الطريقة |
| موجو | وصف |
|---|---|
class_level_graph | عرض الرسم البياني الذي تم إنشاؤه بواسطة نهج مستوى الفصل |
method_level_graph | عرض الرسم البياني الذي تم إنشاؤه بواسطة نهج مستوى الطريقة |
| موجو | وصف |
|---|---|
clean | تنظيف الملفات والدلائل المؤقتة |
| خيار | وصف | تقصير |
|---|---|---|
logging | مستوى التسجيل (القيم في java.util.logging.Level ) | INFO |
useSpringExtension | تحليل التبعيات الناجم عن الربيع | false |
useGuiceExtension | تحليل التبعيات الناجم عن Guice | false |
useCDIExtension | تحليل التبعيات الناجم عن CDI | false |
| خيار | وصف | تقصير |
|---|---|---|
standalone | قم بتشغيل في وضع مستقل - إذا لم يكن موجودًا ، تتوقع Dirts أن يستبعد RTS TOOL آخر بعض الاختبارات في The excludesFile | false |
overrideExtension | بالاقتران مع standalone=false ، تتصرف مثل الأداة تعمل بذاتها ولكنها تستبعد الاختبارات المتأثرة بالتغييرات المرتبطة بـ DI فقط | false |
| خيار | وصف | تقصير |
|---|---|---|
toFile | تخزين تمثيل الرسم البياني على نظام الملفات بدلاً من طباعته إلى stdout | false |
outputFile | اسم الملف ، حيث يتم تخزين الرسم البياني إذا تم تعيين toFile على صحيح | [class|method]_level |
يمكن استخدام Dirts مستقلة تمامًا لـ RTs من خلال تحديد standalone=true .
يمكن أيضًا استخدام الأوساخ لتشغيلها بعد أداة RTS أخرى وتصحيحها فقط للاختبارات المتأثرة بالتغيرات المتعلقة بـ DI. مطلوب الأداة الأخرى لاستبعاد الاختبارات في الملف المحدد بواسطة خاصية excludesFile الخاصة بـ SureFire. يجب تشغيل Dirts بعد أداة RTS الأخرى ، ثم ستعلق تلك الاختبارات التي تتأثر بالتغييرات المتعلقة بـ DI ، ولكن تم استبعادها من قبل. هذا هو السلوك الافتراضي للأدوار.
تم تصميم Dirts لاستخدامها مع Maven Surefire. إن أبسط طريقة لاستخدام الأوساخ في مشروع Maven هي من خلال المكون الإضافي Dirts Maven:
< plugin >
< groupId >edu.tum.sse.dirts</ groupId >
< artifactId >dirts-maven-plugin</ artifactId >
< version >${dirts.version}</ version >
< configuration >
...
</ configuration >
</ plugin >excludesFile -Property ، من الناحية المثالية لكل وحدة فرعية بشكل منفصل. خلاف ذلك ، لن يعمل استبعاد الاختبار.useSpringExtension ) إلى true .على الرغم من أن الأدوار تحلل رمز المصدر العادي ، في حالة بعض التبعيات بين الوحدات ، قد يكون هناك حاجة لتجميع قبل تنفيذ إجراء الاختيار.
$ mvn compile dirts:class_level_select test تنشئ Dirts قائمة بهذه الوحدات في .dirts/affected_modules داخل مجلد الوحدة الخارجية.
$ mvn dirts:class_level_select
$ mvn -am -pl " $( cat .dirts/affected_modules ) " test$ mvn dirts:class_level_select$ mvn compile dirts:class_level_select test$ mvn dirts:class_level_select
$ mvn -am -pl " $( cat .dirts/affected_modules ) " test لبناء الأدوار ببساطة تشغيل:
$ mvn clean installسيؤدي ذلك إلى إنشاء الكود لجميع الوحدات ، وتشغيل جميع الاختبارات ، وتثبيت الجرار على مستودع Maven المحلي.