ช่วงนี้ได้กลับมาเขียน Java อีกครั้ง โดย project ที่ดูแลอยู่ใช้ maven เป็น dependency management และได้ลองเขียน unit test โดยใช้คำสั่งตามด้านล่าง
mvn test
results ของ unit test จะแสดงตามรูปด้านล่าง
จากรูปจะพบว่า results ที่ได้จะแสดง summary แบบที่ไม่มีชื่อ test case ที่เราได้เขียนไป แล้วจะทำอย่างไร ที่จะทำให้ผลของ unit test แสดงชื่อ test case ด้วย
ผมไปเจอกับ plugin ตัวหนึ่งชื่อ maven-surefire-plugin
plugin ตัวนี้จะแสดงชื่อ test case ที่เราได้เขียนเอาไว้ โดยเพิ่ม code เข้าไปใน pom.xml ตาม code ด้านล่าง
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.3</version>
<dependencies>
<dependency>
<groupId>me.fabriciorby</groupId>
<artifactId>maven-surefire-junit5-tree-reporter</artifactId>
<version>1.2.1</version>
</dependency>
</dependencies>
<configuration>
<reportFormat>plain</reportFormat>
</configuration>
</plugin>
run test mvn test
results ของ unit test จะแสดงตามรูปด้านล่าง
ตอนนี้จะเห็นได้ว่ามี test case มาแสดงให้เห็นแล้ว
แล้วจะทำอย่างไรให้มันดูง่ายขึ้นกว่านี้ได้อีก?
ไปเจอ maven-surefire-junit5-tree-reporter
เป็น extension ของ maven-surefire-plugin
โดยมันจะทำให้ test case แสดงในรูปแบบของ tree
เพิ่ม code ด้านล่างไปในส่วนของ configuration ของ plugin maven-surefire-plugin
<configuration>
<reportFormat>plain</reportFormat>
<consoleOutputReporter>
<disable>true</disable>
</consoleOutputReporter>
<statelessTestsetInfoReporter implementation="org.apache.maven.plugin.surefire.extensions.junit5.JUnit5StatelessTestsetInfoTreeReporter">
<theme>UNICODE</theme>
</statelessTestsetInfoReporter>
</configuration>
run test mvn test
results ของ unit test จะแสดงตามรูปด้านล่าง
จากรูปจะเห็นได้ว่า test results นั้นแสดงได้อย่างสวยงาม โดยจะมีสีและ icon บอก status ด้วยว่าแต่ละ test case นั้น success หรือ fail
โดยที่ maven-surefire-junit5-tree-reporter
สามารถเลือก theme ได้ด้วย theme ที่ผมเลือกเป็น UNICODE
ถ้าจะลองเล่นไปที่ link นี้ได้เลยครับ
https://github.com/fabriciorby/maven-surefire-junit5-tree-reporter
ตัวอย่าง pom.xml เต็มๆ
หรือใครมีวิธีอื่นอีก แนะนำกันใน comment ได้เลยครับ
Top comments (0)