Thứ Sáu, 6 tháng 4, 2018

Top 10 Framework và Library Testing cho Java Developer

Trong bài báo này, tôi sẽ san sẻ 10 tool, framework, và library hữa ích có thể giúp các nhà phát triển Java viết unit tests và tích hợp chúng vào các dự án Java khác nhau. 

JUnit

Tôi không nghĩ rằng không cần thêm bất kỳ lời giới thiệu nào về JUnit. Ngay cả khi bạn mới học về Java thì hẳn cũng đã từng nghe về nó. JUnit cho phép bạn viết các unit test cho code của bạn.

Hầu như tuốt luốt các IDE chính, thí dụ: Eclipse, NetBeans và IntelliJ đều có tích hợp JUnit, có tức là bạn có thể viết và chạy unit test ngay từ những IDE này

hồ hết chúng ta vẫn đang dùng JUnit 4, nhưng JUnit 5 đã được phát hành và có nhẽ nó sẽ trở thành khuynh hướng trong năm nay. Bạn có thể dùng JUnit cho cả unit và integration testing. Hơn nữa nó còn hỗ trợ các tính năng của Java 8. 

 

 

REST Assured

thể nghiệm và rà soát các dịch vụ REST trong Java sẽ khó hơn so với các ngôn ngữ năng động như Groovy.

 

 

REST Assured giúp mang lại sự đơn giản trong việc dùng những tiếng nói này vào Java. Có thể nói nó là một công cụ sạch cho REST API integration tests.
Selenium

Selenium có nhẽ là công cụ phổ thông nhất cho Java UI testing, cho phép bạn test các trang JSP mà không cần chạy chúng trong trình duyệt.

Bạn có thể test web application UI bằng JUnit và Selenium. Nó thậm chí còn cho phép bạn viết các bài kiểm tra ưng áp dụng web (web application acceptance tests).

TestNG

TestNG là một testing framework lấy cảm hứng từ JUnit và NUnit nhưng giới thiệu nhiều chức năng mới làm cho nó mạnh mẽ và dễ dùng hơn, chả hạn như ghi chú (annotations).

khác biệt giữa JUnit và TestNG đã giảm nhiều so với trước đây nhờ vào các chú giải từ JUnit 4 và tích hợp của Hamcrest matchers.

Mockito

Có nhiều mock frameworks cho Java class, tỉ dụ: PowerMock và JMock, nhưng cá nhân tôi thích Mockito vì các API đơn giản , tài liệu giải thích hết sức chi tiết và tuyệt cũng như có rất nhiều thí dụ.

Mocking là một trong những kỹ thuật thiết yếu của unit test hiện đại vì nó cho phép bạn thẩm tra code một cách độc lập mà không có bất kỳ sự phụ thuộc nào và đó là lý do tại sao tôi khuyến khích mọi nhà phát triển Java tìm hiểu mock framework cùng với JUnit.


Spock Framework

Spock là một testing framework khác cho các ứng dụng Java và Groovy. Nó được viết bằng Groovy, do đó mà nó còn là một ngôn ngữ đặc tả rất ấn tượng và trổi.

Khi bạn dùng Spock, test của bạn sẽ trở thành dễ đọc hơn cũng như bảo trì tiện hơn rất nhiều nhờ vào runner JUnit của nó, Spock tương thích với Hầu hết các IDE, tools và các máy chủ tích hợp liên tiếp.

Thật không may, tôi đã không tìm thấy một khóa học bổ ích về Spock nhưng bạn có thể bắt đầu với quyển Java Testing with Spock.

Cucumber

Cucumber là một phương tiện tuyệt trần khác cho các bài rà tích hợp tự động, nhưng điều làm cho nó khác với các phương tiện khác là khả năng đặc tả của nó.

Cucumber kết hợp các specification và test documentation vào trong một tài liệu đồng nhất và luôn luôn được tự động cập nhật.

Spring Test

Spring MVC đi kèm với một test framework rất hữu ích cho phép thực hiện các bài rà chuyên sâu mà không cần phải có một web container.

Đây là một trong những thư viện hữu dụng nhất để viết automated test cho các Spring application. Nó tương trợ cho việc viết các bài unit và integration test cho các áp dụng chạy bằng Spring, bao gồm các MVC controller.

ngoài ra còn có Spring Test DbUnit được tích hợp Spring Test framework với DbUnit và Spring Test MVC HtmlUnit, vốn được tích hợp Spring Test MVC framework với HtmlUnit.

Bằng cách dùng các công cụ này, bạn có thể dễ dàng soát áp dụng Spring MVC một cách tự động.

DBUnit

Cơ sở dữ liệu là một phần không tách rời của nhiều áp dụng Java, bao gồm cả các vận dụng web, và nó cũng là trở ngại lớn nhất trong khi thực hiện unit testing.

DbUnit, là một phần mở rộng của JUnit, có thể được dùng để khởi tạo cơ sở dữ liệu vào một dạng đã biết trước mỗi lần integration test để bảo đảm database chứa đúng loại data.

Tuy DbUnit cũng có các vấn đề riêng nhưng nó vẫn là một dụng cụ rất có ích nhờ vào khả năng phân cách các test data khỏi những code đã được test.

Robot Framework

Robot Framework là một test automation framework dựa trên Python để acceptance testing.

Nó là một Framework thí nghiệm theo từ khóa có dùng cú pháp “tabular test data”. Bạn có thể dùng nó để test distributed, heterogeneous applications.

Nếu bạn quyết định tìm hiểu về framework sạch này, thì Robot Framework Test Automationcủa Udemy là một khóa học tiệt để bắt đầu.

Đây là một khóa học gồm hai phần gồm các tính năng cơ bản và nâng cao của Robot Framework.

Không có nhận xét nào:

Đăng nhận xét