JUnit - Cách sử dụng cơ bản

Bây giờ chúng ta hãy xem một ví dụ cơ bản để chứng minh quy trình từng bước sử dụng JUnit.

Tạo một lớp học

Tạo một lớp java để được kiểm tra, chẳng hạn như MessageUtil.java trong C:\>JUNIT_WORKSPACE

/*
* This class prints the given message on console.
*/

public class MessageUtil {

   private String message;

   //Constructor
   //@param message to be printed
	
   public MessageUtil(String message){
      this.message = message;
   }
      
   // prints the message
   public String printMessage(){
      System.out.println(message);
      return message;
   }   
}

Tạo lớp trường hợp thử nghiệm

  • Tạo một lớp thử nghiệm java, chẳng hạn như TestJunit.java.
  • Thêm một phương pháp thử testPrintMessage () vào lớp thử nghiệm của bạn.
  • Thêm Annotaion @Test vào phương thức testPrintMessage ().
  • Triển khai điều kiện thử nghiệm và kiểm tra điều kiện bằng API khẳng định của JUnit.

Tạo tên tệp lớp java TestJunit.java trong C:\>JUNIT_WORKSPACE.

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class TestJunit {
	
   String message = "Hello World";	
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      assertEquals(message,messageUtil.printMessage());
   }
}

Tạo lớp chạy thử nghiệm

  • Tạo một lớp java TestRunner.
  • Sử dụng phương thức runClasses của lớp JUnitCore của JUnit để chạy test case của lớp test đã tạo ở trên.
  • Nhận kết quả của các trường hợp thử nghiệm chạy trong Đối tượng Kết quả.
  • Nhận (các) lỗi bằng cách sử dụng phương thức getFailures () của đối tượng Kết quả.
  • Nhận kết quả Thành công bằng phương thức wasSuccessful () của đối tượng Result.

Tạo tệp lớp java có tên TestRunner.java trong C:\>JUNIT_WORKSPACE để thực thi (các) trường hợp thử nghiệm.

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);
		
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}

Biên dịch các lớp MessageUtil, Test case và Test Runner bằng javac.

C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java

Bây giờ chạy Test Runner, sẽ chạy trường hợp thử nghiệm được xác định trong lớp Test Case đã cung cấp.

C:\JUNIT_WORKSPACE>java TestRunner

Xác minh kết quả đầu ra.

Hello World
true

Bây giờ hãy cập nhật TestJunit trong C:\>JUNIT_WORKSPACEđể kiểm tra không thành công. Thay đổi chuỗi thông báo.

import org.junit.Test;
import static org.junit.Assert.assertEquals;

public class TestJunit {
	
   String message = "Hello World";	
   MessageUtil messageUtil = new MessageUtil(message);

   @Test
   public void testPrintMessage() {
      message = "New Word";
      assertEquals(message,messageUtil.printMessage());
   }
}

Hãy giữ nguyên phần còn lại của các lớp và cố gắng chạy cùng một Trình chạy thử nghiệm.

import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;

public class TestRunner {

   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit.class);
		
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}

Bây giờ chạy Test Runner, sẽ chạy trường hợp thử nghiệm được xác định trong lớp Test Case đã cung cấp.

C:\JUNIT_WORKSPACE>java TestRunner

Xác minh kết quả đầu ra.

Hello World
testPrintMessage(TestJunit): expected:<[New Wor]d> but was:<[Hello Worl]d>
false