Java: Test suite


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

Test suite được sử dụng để gói một vài đơn vị test case và chạy chúng cùng nhau. Trong JUnit, cả chú thích @RunWith và @Suite đều được sử dụng để chạy các test suite. Bài viết này lấy một ví dụ có hai lớp test là TestJunit1 và TestJunit2, chúng chạy cùng nhau bằng Test Suite.

Tạo một lớp

Tạo một lớp java để được test, 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;
   }   

   // add "Hi!" to the message
   public String salutationMessage(){
      message = "Hi!" + message;
      System.out.println(message);
      return message;
   }   
}  	

Tạo các lớp test case

Tạo file java có tên TestJunit1.java trong C:\>JUNIT_WORKSPACE.

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

public class TestJunit1 {

   String message = "Robert";	
   MessageUtil messageUtil = new MessageUtil(message);
   
   @Test
   public void testPrintMessage() {	
      System.out.println("Inside testPrintMessage()");    
      assertEquals(message, messageUtil.printMessage());     
   }
}

Tạo file java có tên TestJunit2.java trong C:\>JUNIT_WORKSPACE.

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

public class TestJunit2 {

   String message = "Robert";	
   MessageUtil messageUtil = new MessageUtil(message);
 
   @Test
   public void testSalutationMessage() {
      System.out.println("Inside testSalutationMessage()");
      message = "Hi!" + "Robert";
      assertEquals(message,messageUtil.salutationMessage());
   }
}

Tạo lớp test suite

  • Tạo một lớp java.
  • Đính kèm annotation @RunWith(Suite.class) với lớp.
  • Thêm tham chiếu đến các lớp test JUnit bằng cách sử dụng annotation @Suite.SuiteClasses.

Tạo file java có tên TestSuite.java trong C:\>JUNIT_WORKSPACE để thực thi (các) test case.

import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)

@Suite.SuiteClasses({
   TestJunit1.class,
   TestJunit2.class
})

public class JunitTestSuite {   
}  	

Tạo lớp TestRunner

Tạo file java có tên TestRunner.java trong C:\>JUNIT_WORKSPACE để thực thi (các) test case.

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(JunitTestSuite.class);

      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}  	

Biên dịch tất cả các lớp java bằng javac:

C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit1.java 
TestJunit2.java JunitTestSuite.java TestRunner.java

Bây giờ hãy chạy Test Runner, nó sẽ chạy test case đượ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.

Inside testPrintMessage()
Robert
Inside testSalutationMessage()
Hi Robert
true
» Tiếp: Bỏ qua test
« Trước: Thực thi các test
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!