Trong các bài viết trước chúng ta đã cùng tìm hiểu cách viết Unit Test trong Java sử dụng thư viện JUnit. Trong bài này, chúng ta sẽ cùng tìm hiểu cách tạo báo cáo (report) kết quả test ra tập tin HTML.
Giới thiệu Surefire maven plugin
JUnit giúp chúng ta xác nhận các phương thức của chúng ta có hoạt đúng hay không. Trong một số trường hợp, chúng ta muốn xuất báo cáo về kết quả test của các test case thì JUnit không thể đáp ứng được.
Một báo cáo có thể được tạo theo nhiều cách khác nhau, một trong những cách đơn giản, dễ sử dụng nhất là sử dụng plugin của Maven. Plugin Surefire của maven là một thư viện rất phổ biến được sử dụng để tạo các báo cáo về kết quả test cho JUnit.
Ví dụ tạo JUnit HTML Report
Các bước để tạo một JUnit HTML Report:
- Tạo một project maven và thêm thư viện Surefire plugin vào file pom.xml.
- Chạy lệnh mvn surefire-report:report từ command line để tạo report. Sau khi lệnh này được thực thi, kết quả report sẽ được xuất ra file HTML trong thư mục target/site của project.
<project> <dependencies> <!-- JUnit library --> </dependencies> <reporting> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.0.0</version> <reportSets> <reportSet> <reports> <report>index</report> <report>licenses</report> <report>dependency-info</report> </reports> </reportSet> </reportSets> </plugin> </plugins> </reporting> <build> <plugins> <!-- Part of Maven - specified version explicitly for compatibility with the maven-project-info-reports-plugin 3.0.0--> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.7.1</version> </plugin> </plugins> </build> </project>
Source code ví dụ các bạn xem trên github tại project UnitTest.
Để tạo report từ surefire plugin, chúng ta có thể sử dụng command line hoặc từ configuration của eclipse.
Sử dụng command line
Mở command line tại thư mục gốc của project. Chạy lệnh: mvn clean site surefire-report:report. File report được tạo ra trong thư mục target/site.
Mở file surefire-report.html trên browser, chúng ta có kết quả như sau:
Sử dụng Eclipse configuration
Để chạy từ Eclipse, chúng ta thực hiện theo các bước sau:
- Nhấn chuột phải lên project -> Run As -> Run Configurations…
- Một cửa sổ cấu hình hiện ra -> Double click lên Maven build -> Nhập thông tin như hình bên dưới.
- Name: Nhập tên Maven build cho project. Ví dụ: UnitTest Report
- Base directory: chọn Workspace -> chọn project UnitTest. Ví dụ chọn project UnitTest từ workspace.
- Goals: nhập lệnh clean site surefire-report:report.
- Chọn Run.
Sau khi chọn run, chúng ta cũng có kết quả như chạy từ commnad line.
Lời kết:
Trên đây là hương hướng dẫn cơ bản về cách cài đặt và sử dụng thư viện Surefire maven plugin để tạo HTML Report. Ngoài cách sử dụng thư viện có sẵn chúng ta cũng có thể tự tạo report của riêng mình bằng cách sử dụng JUnit Test Runner để nhận kết quả test, sau đó xuất report ra HTML, Excel, PDF hay bất kỳ format nào mong muốn.
Tài liệu tham khảo: