JUnit là gì? Tìm hiểu chi tiết về JUnit

Mock được dùng để làm gì?

Kiểm thử đơn vị là một hoạt động rất quan trọng trong phát triển phần mềm và được thực hiện bởi các Framework. Nổi bật trong số đó là JUnit – một Framework kiểm thử đơn vị cho ngôn ngữ lập trình Java. Trong bài viết hôm nay, Tino Group sẽ cùng bạn tìm hiểu cụ thể JUnit là gì cũng như các tính năng nổi bật của Framework này.

Đôi nét về kiểm thử phần mềm

Kiểm thử phần mềm

Kiểm thử phần mềm là hoạt động tìm kiếm và phát hiện ra các lỗi của phần mềm nhằm đảm bảo tính chính xác và đầy đủ của phần mềm chính xác theo yêu cầu của khách hàng, yêu cầu của sản phẩm đã đặt ra.

Quá trình kiểm thử là thao tác bắt buộc phải khi phát triển phần mềm. Kiểm thử có được chia làm 4 mức độ khác nhau theo thứ tự gồm: SDLC, STLC, V Model và Unit Test. Trong đó, Unit Test (kiểm thử đơn vị) nằm ở mức độ thấp nhất và được thực hiện trước khi kiểm tra tích hợp.

junit-la-gijunit-la-gi

Tại sao nên sử dụng các công cụ kiểm thử tự động?

Dưới đây là bảng so sánh giữa kiểm thử thủ công và kiểm thử tự động:

Kiểm thử thủ công

Kiểm thử tự động

Tốn nhiều thời gian. Vì được thực hiện bởi con người nên rất chậm và nhàm chán.

Sử dụng phần mềm nên tiết kiệm được rất nhiều thời gian.

Cần có sự đầu tư lớn vào nguồn nhân lực

Ít đầu tư vào nguồn nhân lực hơn vì mọi thứ được thực hiện bằng các phần mềm tự động hóa.

Kiểm thử thủ công ít đáng tin cậy vì dễ xảy ra lỗi do con người

Được thực hiện bởi phần mềm nên kiểm thử tự động chính xác và đáng tin cậy hơn.

Khó lập trình các bài kiểm tra tinh vi để lấy thông tin ẩn.

Thông qua phần mềm, Tester có thể lập trình các bài kiểm tra phức tạp để đưa ra thông tin ẩn.

JUnit là gì?

JUnit là một Framework kiểm thử đơn vị mã nguồn mở được sử dụng cho ngôn ngữ lập trình Java. Các nhà phát triển Java sử dụng Framework này để viết và thực thi các bài kiểm thử tự động. Trong Java, sẽ có những trường hợp kiểm thử phải được thực thi lại mỗi khi code mới được thêm vào. JUnit được sử dụng để đảm bảo code không có bất kỳ lỗi nào.

Framework này có một số đồ thị đại diện cho tiến trình của một bài kiểm thử. Biểu đồ hiển thị màu xanh lá cây khi thử nghiệm diễn ra trơn tru và chuyển sang màu đỏ nếu không thành công. Tóm lại, JUnit giúp các nhà phát triển xây dựng code có độ tin cậy cao và tăng hiệu suất làm việc lên mức cao nhất.

Đến nay, JUnit đã phát triển được 5 phiên bản. Trong đó, JUnit 4 và JUnit 5 là 2 phiên bản thông dụng nhất. Ở phiên bản JUnit 5 mới nhất, framework này đã được bổ sung nhiều tính năng hữu ích giúp khắc phục nhược điểm của phiên bản cũ và linh hoạt hơn rất nhiều.

Các chức năng cơ bản của JUnit

  • Với mã nguồn mở, JUnit cho phép các nhà phát triển viết code nhanh và chất lượng hơn.
  • Cung cấp chú thích (Annotation) để xác định các phương pháp kiểm thử (Test method).
  • Cung cấp xác nhận (Assertions) để cho kết quả mong đợi.
  • Cung cấp chương trình chạy thử (Test runner) để lập trình viên tiến hành chạy thử dễ dàng.
  • Cho phép chạy tự động (Automation test) và phản hồi kết quả trong thời gian ngắn. Điều này giúp lập trình viên tiết kiệm thời gian kiểm thử so với phương pháp thủ công.
  • Lập trình viên có thể tổ chức hoặc phân loại các bài kiểm thử thành các bộ kiểm thử (Test suites) chứa các trường hợp kiểm thử (Test cases).
  • Biểu đồ hiển thị màu xanh lá cây khi bài test diễn ra trơn tru và chuyển sang màu đỏ nếu không thành công.

junit-la-gijunit-la-gi

Lợi ích khi sử dụng JUnit

Các lý do nên sử dụng JUnit là:

  • Sớm tìm ra lỗi trong giai đoạn phát triển, giúp tăng độ tin cậy của code.
  • Cho phép nhà phát triển đầu tư nhiều thời gian hơn vào việc đọc code hơn là viết code.
  • Làm cho code dễ đọc hơn, đáng tin cậy hơn và không có lỗi.
  • Giúp nâng cao sự tự tin của nhà phát triển và tạo động lực cho họ làm việc.

Hướng dẫn cách cài đặt JUnit

Yêu cầu hệ thống

  • JDK: 1.5 trở lên
  • Bộ nhớ RAM: Không có yêu cầu tối thiểu
  • Dung lượng đĩa: Không có yêu cầu tối thiểu

Yêu cầu đầu ra Java của hệ điều hành

Hệ điều hành

Đầu ra

Windows: Java(TM) SE Runtime Environment (build 1.8.0_101)

java version “1.8.0_101”

Linux: Java(TM) SE Runtime Environment (build 1.8.0_101)

java version “1.8.0_101”

Mac: Java(TM) SE Runtime Environment (build 1.8.0_101)

java version “1.8.0_101”

Cài đặt JUnit

Bước 1: Xác minh cài đặt Java trong máy

Hệ điều hành

Tác vụ

Lệnh

Windows

Open Command Console

c:> java -version

Linux

Open Command Terminal

$ java -version

Mac

Open Terminal

machine:~ joseph$ java -version

Bước 2: Cài đặt môi trường Java. Đặt biến môi trường JAVA_HOME trỏ đến vị trí thư mục cơ sở nơi Java được cài đặt trên máy.

JUnit là gì? Tìm hiểu chi tiết về JUnit 2JUnit là gì? Tìm hiểu chi tiết về JUnit 2

QUẢNG CÁO

Hệ điều hành

Output

Windows

Đặt biến môi trường JAVA_HOME tới C:\Program Files\Java\jdk1.8.0_101

Linux

Xuất JAVA_HOME = /usr/local/java-current

Mac

Xuất JAVA_HOME = /Library/Java/Home

Nối vị trí trình biên dịch Java vào đường dẫn hệ thống:

Hệ điều hành

Output

Windows

Nối chuỗi***C:\Program Files\Java\jdk1.8.0_101\bin***

Linux

Xuất PATH = $PATH:$JAVA_HOME/bin/

Mac

Không yêu cầu

Bước 3: Tải xuống JUnit từ trang web http://www.junit.org.

junit-la-gijunit-la-gi

Bước 4: Đặt biến môi trường JUNIT_HOME trỏ đến vị trí thư mục cơ sở nơi JUnit jar được lưu trữ trên máy của bạn.

Hệ điều hành

Mô tả

Windows

Đặt biến môi trường JUNIT_HOME thành C: \ JUNIT

Linux

Xuất JUNIT_HOME = / usr / local / JUNIT

Mac

Xuất JUNIT_HOME = /Library/JUNIT

Bước 5: Đặt biến môi trường CLASSPATH trỏ đến vị trí JUnit jar.

Hệ điều hành

Mô tả

Windows

Đặt biến môi trường CLASSPATH thành% CLASSPATH%;% JUNIT_HOME% \ junit4.12.jar; (Với file Junit jar là phiên bản junit4.12)

Linux

Xuất CLASSPATH = $CLASSPATH:$JUNIT_HOME/junit4.12.jar:

Mac

Xuất CLASSPATH = $CLASSPATH:$JUNIT_HOME/junit4.12.jar

Một số khái niệm liên quan đến JUnit

  • Fixtures: Trạng thái cố định của tập hợp các đối tượng. Đây là cơ sở để chạy thử nghiệm. Hai phương thức được sử dụng phổ biến khi test fixtures bao gồm: setUp()method (cho chạy trước khi bắt đầu thử nghiệm) và tearDown()method (lập trình viên sẽ cho chạy sau khi tiến hành thử nghiệm xong).
  • Test suite (bộ kiểm thử): Hệ thống bao gồm các test case được chạy cùng một lúc.
  • Test runner (trình chạy kiểm thử): Giao diện dùng để chạy các test cases.
  • JUnit class: Thành phần quan trọng được sử dụng để viết và chạy kiểm thử.
  • Mock: Đối tượng giả định dùng để mô phỏng tính chất và hành vi tương tự như đối tượng thật.

Như vậy, bài viết đã cung cấp cho bạn tất cả các khái niệm cơ bản cần thiết để bắt đầu với JUnit. Đồng thời, bạn cũng đã hiểu tại sao JUnit lại quan trọng trong kiểm thử. Để tìm hiểu thêm về JUnit, bạn có thể xem hướng dẫn sử dụng JUnit tại đây. Chúc bạn thành công!

Những câu hỏi thường gặp

Tại sao nhiều lập trình viên yêu thích JUnit?

Với nhiều tính năng hữu ích kể trên, không quá khó hiểu khi JUnit là một trong những công cụ kiểm thử được sử dụng vô cùng phổ biến. Những giải thưởng sau đã minh chứng cho điều đó:

  • Giải thưởng do các biên tập viên JavaWorld bình chọn năm 2001: Công cụ kiểm tra / giám sát hiệu suất Java tốt nhất
  • Giải thưởng do các biên tập viên JavaWorld bình chọn năm 2002: Công cụ kiểm tra / giám sát hiệu suất Java tốt nhất

Tại sao nên test Fixtures trên JUnit?

Việc test Fixtures sẽ giúp lập trình viên đảm bảo môi trường được ổn định và thực hiện các bài chạy thử nghiệm liên tục. Sẽ có một chuỗi code được lập trình để đảm bảo quá trình kiểm thử diễn ra thuận lợi.

Mock được dùng để làm gì?

Mock được dùng để đưa vào code đang vận hành nhằm kiểm tra tính đúng đắn của hàm bên trong.

Có mấy cách để chạy JUnit?

Có 3 cách để chạy JUnits:

  • Chạy bằng dòng lệnh trực tiếp (command line)
  • Chạy từ IDE (Eclipse hoặc IntelliJ)
  • Sử dụng chương trình Maven hoặc Gradle

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Tầng 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, Phường Bến Nghé, Quận 1, Thành phố Hồ Chí Minh
    Văn phòng đại diện: 42 Trần Phú, Phường 4, Quận 5, Thành phố Hồ Chí Minh
  • Điện thoại: 0364 333 333
    Tổng đài miễn phí: 1800 6734
  • Email: [email protected]
  • Website: www.tino.org