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 อื่นได้ยกเว้นการทดสอบบางอย่างใน excludesFile แล้ว | false |
overrideExtension | เมื่อใช้ร่วมกับ standalone=false , ประพฤติตนเหมือนเครื่องมือกำลังทำงานแบบสแตนด์อโลน แต่ไม่รวมการทดสอบที่ได้รับผลกระทบจากการเปลี่ยนแปลงที่เกี่ยวข้องกับ DI | false |
| ตัวเลือก | คำอธิบาย | ค่าเริ่มต้น |
|---|---|---|
toFile | จัดเก็บการแสดงกราฟบนระบบไฟล์แทนการพิมพ์ไปยัง stdout | false |
outputFile | ชื่อของไฟล์ที่จัดเก็บกราฟหากตั้งค่า toFile เป็น TRUE | [class|method]_level |
DIRTs สามารถใช้แบบสแตนด์อโลนได้อย่างสมบูรณ์สำหรับ RTS โดยการระบุ standalone=true
DIRTS ยังสามารถใช้ในการทำงานหลังจากเครื่องมือ RTS อื่นและถูกต้องสำหรับการทดสอบที่ได้รับผลกระทบจากการเปลี่ยนแปลงที่เกี่ยวข้องกับ DI เครื่องมืออื่น ๆ จำเป็นต้องยกเว้นการทดสอบในไฟล์ที่ระบุโดยคุณสมบัติ excludesFile ของ SureFire DIRTS จำเป็นต้องทำงานหลังจากเครื่องมือ RTS อื่น ๆ และจากนั้นจะแสดงความคิดเห็นการทดสอบที่ได้รับผลกระทบจากการเปลี่ยนแปลงที่เกี่ยวข้องกับ DI แต่ได้รับการยกเว้นก่อนหน้านี้ นี่คือพฤติกรรมเริ่มต้นของ dirts
Dirts ถูกสร้างขึ้นเพื่อใช้กับ Maven Surefire วิธีที่ง่ายที่สุดในการใช้ Dirts ในโครงการ Maven คือผ่านปลั๊กอิน Dirts Maven:
< plugin >
< groupId >edu.tum.sse.dirts</ groupId >
< artifactId >dirts-maven-plugin</ artifactId >
< version >${dirts.version}</ version >
< configuration >
...
</ configuration >
</ plugin >excludesFile Surefire -พร็อพเพอร์ตี้ของ Surefire มิฉะนั้นการยกเว้นการทดสอบจะไม่ทำงานuseSpringExtension ) เป็น trueแม้ว่า DIRTS จะวิเคราะห์ซอร์สโค้ดธรรมดา แต่ในกรณีที่มีการพึ่งพาระหว่างโมดูลบางอย่างก็อาจจำเป็นต้องรวบรวมก่อนที่จะดำเนินการตามขั้นตอนการเลือก
$ 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 เพื่อสร้าง dirts เพียงแค่วิ่ง:
$ mvn clean installสิ่งนี้จะสร้างรหัสสำหรับโมดูลทั้งหมดเรียกใช้การทดสอบทั้งหมดและติดตั้งขวดไปยังที่เก็บ Maven ในพื้นที่ของคุณ