Top 10 Framework và Library Testing cho Java Developer

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

Trong bài báo này, tôi sẽ chia 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ư sờ soạng các IDE chính, tỉ dụ: Eclipse, NetBeans và IntelliJ đều có tích hợp JUnit, có nghĩa 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ó lẽ nó sẽ trở nên thiên 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à thẩm tra các dịch vụ REST trong Java sẽ khó hơn so với các tiếng nói 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 dụng cụ sạch cho REST API integration tests.
Selenium

Selenium có nhẽ là phương tiện 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 vận 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ẳng hạn như chú thích (annotations).

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

Mockito

Có nhiều mock frameworks cho Java class, thí dụ: PowerMock và JMock, nhưng cá nhân chủ nghĩa 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à tiệ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 áp 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ở nên 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 hữu í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 công cụ khác là khả năng đặc tả của nó.

Cucumber phối 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 dụng cho phép thực hành 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 có ích nhất để viết automated test cho các Spring application. Nó hỗ trợ cho việc viết các bài unit và integration test cho các ứng dụng chạy bằng Spring, bao gồm các MVC controller.

ngoại giả 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 dụng cụ này, bạn có thể dễ dàng kiểm tra ứng 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 vận 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 hành unit testing.

DbUnit, là một phần mở mang 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 để đảm bảo 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 hữu dụng 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ể sử dụng nó để test distributed, heterogeneous applications.

Nếu bạn quyết định tìm hiểu về framework tuyệt này, thì Robot Framework Test Automationcủa Udemy là một khóa học tuyệt trần để 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ăn bản và nâng cao của Robot Framework.

0 nhận xét:

Đăng nhận xét

Next Prev
▲Top▲