JUnit - API

Gói quan trọng nhất trong JUnit là junit.framework, chứa tất cả các lớp cốt lõi. Một số lớp quan trọng như sau:

Sr.No. Tên lớp Chức năng
1 Khẳng định Một tập hợp các phương pháp khẳng định.
2 TestCase Một trường hợp thử nghiệm xác định vật cố định để chạy nhiều thử nghiệm.
3 Kết quả kiểm tra TestResult thu thập kết quả của việc thực thi một trường hợp kiểm thử.
4 TestSuite TestSuite là một tổ hợp các bài kiểm tra.

Khẳng định lớp học

Sau đây là khai báo cho org.junit.Assert lớp học -

public class Assert extends java.lang.Object

Lớp này cung cấp một tập hợp các phương thức khẳng định hữu ích cho việc viết các bài kiểm tra. Chỉ những xác nhận không thành công mới được ghi lại. Một số phương thức quan trọng của lớp Assert như sau:

Sr.No. Phương pháp & Mô tả
1

void assertEquals(boolean expected, boolean actual)

Kiểm tra xem hai đối tượng / nguyên thủy có bằng nhau không.

2

void assertFalse(boolean condition)

Kiểm tra rằng một điều kiện là sai.

3

void assertNotNull(Object object)

Kiểm tra xem một đối tượng không phải là rỗng.

4

void assertNull(Object object)

Kiểm tra xem một đối tượng có rỗng không.

5

void assertTrue(boolean condition)

Kiểm tra xem một điều kiện là đúng.

6

void fail()

Không kiểm tra được không có thông báo.

Hãy sử dụng một số phương pháp được đề cập ở trên trong một ví dụ. Tạo tệp lớp java có tên TestJunit1.java trongC:\>JUNIT_WORKSPACE.

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

public class TestJunit1 {
   @Test
   public void testAdd() {
      //test data
      int num = 5;
      String temp = null;
      String str = "Junit is working fine";

      //check for equality
      assertEquals("Junit is working fine", str);
      
      //check for false condition
      assertFalse(num > 6);

      //check for not null value
      assertNotNull(temp);
   }
}

Tiếp theo, tạo một tệp lớp java có tên TestRunner1.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 TestRunner1 {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit1.class);
		
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}

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

C:\JUNIT_WORKSPACE>javac TestJunit1.java TestRunner1.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 TestRunner1

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

true

Lớp TestCase

Sau đây là khai báo cho org.junit.TestCase lớp học -

public abstract class TestCase extends Assert implements Test

Một trường hợp thử nghiệm xác định vật cố định để chạy nhiều thử nghiệm. Một số phương pháp quan trọng củaTestCase lớp như sau -

Sr.No. Phương pháp & Mô tả
1

int countTestCases()

Đếm số lượng các trường hợp kiểm thử được thực thi khi chạy (kết quả TestResult).

2

TestResult createResult()

Tạo một đối tượng TestResult mặc định.

3

String getName()

Lấy tên của TestCase.

4

TestResult run()

Một phương pháp thuận tiện để chạy thử nghiệm này, thu thập kết quả với một đối tượng TestResult mặc định.

5

void run(TestResult result)

Chạy trường hợp kiểm thử và thu thập kết quả trong TestResult.

6

void setName(String name)

Đặt tên của TestCase.

7

void setUp()

Thiết lập đồ đạc, chẳng hạn như mở kết nối mạng.

số 8

void tearDown()

Làm rơi đồ đạc, chẳng hạn như đóng kết nối mạng.

9

String toString()

Trả về biểu diễn chuỗi của trường hợp thử nghiệm.

Hãy sử dụng một số phương pháp được đề cập ở trên trong một ví dụ. Tạo tệp lớp java có tênTestJunit2.java trong C: \> JUNIT_WORKSPACE.

import junit.framework.TestCase;
import org.junit.Before;
import org.junit.Test;

public class TestJunit2 extends TestCase  {
   protected double fValue1;
   protected double fValue2;
   
   @Before 
   public void setUp() {
      fValue1 = 2.0;
      fValue2 = 3.0;
   }
	
   @Test
   public void testAdd() {
      //count the number of test cases
      System.out.println("No of Test Case = "+ this.countTestCases());
		
      //test getName 
      String name = this.getName();
      System.out.println("Test Case Name = "+ name);

      //test setName
      this.setName("testNewAdd");
      String newName = this.getName();
      System.out.println("Updated Test Case Name = "+ newName);
   }
	
   //tearDown used to close the connection or clean up activities
   public void tearDown(  ) {
   }
}

Tiếp theo, tạo một tệp lớp java có tên TestRunner2.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 TestRunner2 {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit2.class);
		
      for (Failure failure : result.getFailures()) {
         System.out.println(failure.toString());
      }
		
      System.out.println(result.wasSuccessful());
   }
}

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

C:\JUNIT_WORKSPACE>javac TestJunit2.java TestRunner2.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 TestRunner2

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

No of Test Case = 1
Test Case Name = testAdd
Updated Test Case Name = testNewAdd
true

Lớp TestResult

Sau đây là khai báo cho org.junit.TestResult lớp học -

public class TestResult extends Object

TestResult thu thập kết quả của việc thực thi một trường hợp kiểm thử. Nó là một ví dụ của mẫu Tham số thu thập. Khung kiểm tra phân biệt giữa lỗi và lỗi. Sự thất bại được dự đoán trước và được kiểm tra bằng các xác nhận. Lỗi là những vấn đề không lường trước được như ArrayIndexOutOfBoundsException. Một số phương pháp quan trọng củaTestResult lớp như sau -

Sr.No. Phương pháp & Mô tả
1

void addError(Test test, Throwable t)

Thêm một lỗi vào danh sách các lỗi.

2

void addFailure(Test test, AssertionFailedError t)

Thêm lỗi vào danh sách lỗi.

3

void endTest(Test test)

Thông báo kết quả rằng một bài kiểm tra đã được hoàn thành.

4

int errorCount()

Nhận số lỗi được phát hiện.

5

Enumeration<TestFailure> errors()

Trả về một Bảng kê cho các lỗi.

6

int failureCount()

Nhận số lỗi được phát hiện.

7

void run(TestCase test)

Chạy TestCase.

số 8

int runCount()

Nhận số lần chạy thử nghiệm.

9

void startTest(Test test)

Thông báo kết quả rằng một bài kiểm tra sẽ được bắt đầu.

10

void stop()

Đánh dấu rằng quá trình chạy thử nghiệm sẽ dừng lại.

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

import org.junit.Test;
import junit.framework.AssertionFailedError;
import junit.framework.TestResult;

public class TestJunit3 extends TestResult {
   // add the error
   public synchronized void addError(Test test, Throwable t) {
      super.addError((junit.framework.Test) test, t);
   }

   // add the failure
   public synchronized void addFailure(Test test, AssertionFailedError t) {
      super.addFailure((junit.framework.Test) test, t);
   }
	
   @Test
   public void testAdd() {
      // add any test
   }
   
   // Marks that the test run should stop.
   public synchronized void stop() {
      //stop the test here
   }
}

Tiếp theo, tạo một tệp lớp java có tên TestRunner3.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 TestRunner3 {
   public static void main(String[] args) {
      Result result = JUnitCore.runClasses(TestJunit3.class);

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

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

C:\JUNIT_WORKSPACE>javac TestJunit3.java TestRunner3.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 TestRunner3

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

true

Lớp TestSuite

Sau đây là khai báo cho org.junit.TestSuite lớp học:

public class TestSuite extends Object implements Test

TestSuite là Tổng hợp các bài kiểm tra. Nó chạy một bộ sưu tập các trường hợp thử nghiệm. Một số phương pháp quan trọng củaTestSuite lớp như sau -

Sr.No. Phương pháp & Mô tả
1

void addTest(Test test)

Thêm một bài kiểm tra vào bộ.

2

void addTestSuite(Class<? extends TestCase> testClass)

Thêm các bài kiểm tra từ lớp đã cho vào bộ.

3

int countTestCases()

Đếm số lượng trường hợp thử nghiệm sẽ được chạy bởi thử nghiệm này.

4

String getName()

Trả về tên của bộ.

5

void run(TestResult result)

Chạy các bài kiểm tra và thu thập kết quả của chúng trong một TestResult.

6

void setName(String name)

Đặt tên của bộ.

7

Test testAt(int index)

Trả về bài kiểm tra ở chỉ số đã cho.

số 8

int testCount()

Trả về số lượng bài kiểm tra trong bộ này.

9

static Test warning(String message)

Trả về một bài kiểm tra sẽ không thành công và ghi lại một thông báo cảnh báo.

Tạo tệp lớp java có tên JunitTestSuite.java trong C: \> JUNIT_WORKSPACE để tạo Bộ thử nghiệm.

import junit.framework.*;

public class JunitTestSuite {
   public static void main(String[] a) {
      // add the test's in the suite
      TestSuite suite = new TestSuite(TestJunit1.class, TestJunit2.class, TestJunit3.class );
      TestResult result = new TestResult();
      suite.run(result);
      System.out.println("Number of test cases = " + result.runCount());
   }
}

Biên dịch các lớp Bộ thử nghiệm bằng javac.

C:\JUNIT_WORKSPACE>javac JunitTestSuite.java

Bây giờ hãy chạy Bộ thử nghiệm.

C:\JUNIT_WORKSPACE>java JunitTestSuite

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

No of Test Case = 1
Test Case Name = testAdd
Updated Test Case Name = testNewAdd
Number of test cases = 3