TestNG - Tổng quan
Kiểm thử là quá trình kiểm tra chức năng của một ứng dụng để đảm bảo nó hoạt động theo yêu cầu. Kiểm thử đơn vị đi vào hình ảnh ở cấp nhà phát triển, nơi các biện pháp thích hợp được thực hiện để kiểm tra mọi thực thể (lớp hoặc phương pháp) để đảm bảo sản phẩm cuối cùng đáp ứng các yêu cầu.
JUnit đã thúc đẩy các nhà phát triển hiểu được tính hữu ích của các bài kiểm tra, đặc biệt là các bài kiểm tra đơn vị, khi so sánh với bất kỳ khung kiểm tra nào khác. Tận dụng một kiến trúc khá đơn giản, thực dụng và chặt chẽ, JUnit đã có thể "lây nhiễm" cho rất nhiều nhà phát triển. Hãy xem hướng dẫn của chúng tôi về JUnit để hiểu rõ về các tính năng của nó. JUnit, đồng thời, cũng có một số thiếu sót, được liệt kê dưới đây:
Ban đầu được thiết kế để chỉ cho phép thử nghiệm đơn vị, bây giờ được sử dụng cho tất cả các loại thử nghiệm.
Không thể thực hiện kiểm tra phụ thuộc.
Kiểm soát cấu hình kém (setUp / ráchDown).
Xâm nhập (buộc bạn phải mở rộng các lớp và đặt tên cho các phương thức của bạn theo một cách nhất định).
Mô hình lập trình tĩnh (buộc bạn phải biên dịch lại một cách không cần thiết).
Việc quản lý các bộ thử nghiệm khác nhau trong các dự án phức tạp có thể rất phức tạp.
TestNG là gì?
Định nghĩa về TestNG theo tài liệu của nó như sau:
TestNG là một khung thử nghiệm lấy cảm hứng từ JUnit và NUnit, nhưng giới thiệu một số chức năng mới giúp nó mạnh mẽ hơn và dễ sử dụng hơn.
TestNG là một khung kiểm thử tự động mã nguồn mở; Ở đâuNG có nghĩa Nmáy lẻGthụt tháo. TestNG tương tự như JUnit (đặc biệt là JUnit 4), nhưng nó không phải là một phần mở rộng của JUnit. Nó được lấy cảm hứng từ JUnit. Nó được thiết kế để tốt hơn JUnit, đặc biệt là khi thử nghiệm các lớp tích hợp. Người tạo ra TestNG là Cedric Beust .
Loại bỏ hầu hết các hạn chế của khuôn khổ cũ, TestNG cung cấp cho nhà phát triển khả năng viết các bài kiểm tra linh hoạt và mạnh mẽ hơn. Vì nó vay mượn nhiều từ Java Annotations (được giới thiệu với JDK 5.0) để xác định các bài kiểm tra, nó cũng có thể chỉ cho bạn cách sử dụng tính năng mới này của ngôn ngữ Java trong môi trường sản xuất thực tế.
Tính năng TestNG
Hỗ trợ chú thích.
TestNG sử dụng nhiều tính năng Java và OO hơn.
Hỗ trợ thử nghiệm các lớp tích hợp (ví dụ: theo mặc định, không cần tạo một phiên bản lớp thử nghiệm mới cho mọi phương pháp thử nghiệm).
Tách mã kiểm tra thời gian biên dịch khỏi thông tin dữ liệu / cấu hình thời gian chạy.
Cấu hình thời gian chạy linh hoạt.
Giới thiệu 'nhóm thử nghiệm'. Khi bạn đã tổng hợp các bài kiểm tra của mình, bạn chỉ có thể yêu cầu TestNG chạy tất cả các bài kiểm tra "giao diện người dùng" hoặc kiểm tra "nhanh", "chậm", "cơ sở dữ liệu", v.v.
Hỗ trợ các phương pháp thử nghiệm phụ thuộc, thử nghiệm song song, thử nghiệm tải và lỗi một phần.
API trình cắm linh hoạt.
Hỗ trợ kiểm tra đa luồng.