Java: Viết chương trình kiểm thử


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

Bài viết này sẽ cho ta một ví dụ hoàn chỉnh về kiểm thử JUnit bằng cách sử dụng lớp POJO, lớp logic nghiệp vụ và một lớp testing, sẽ được chạy bởi trình chạy thử nghiệm.

Tạo file EmployeeDetails.java trong C:\>JUNIT_WORKSPACE, đây là một lớp POJO.

public class EmployeeDetails {

   private String name;
   private double monthlySalary;
   private int age;
   
   /**
   * @return the name
   */
	
   public String getName() {
      return name;
   }
	
   /**
   * @param name the name to set
   */
	
   public void setName(String name) {
      this.name = name;
   }
	
   /**
   * @return the monthlySalary
   */
	
   public double getMonthlySalary() {
      return monthlySalary;
   }
	
   /**
   * @param monthlySalary the monthlySalary to set
   */
	
   public void setMonthlySalary(double monthlySalary) {
      this.monthlySalary = monthlySalary;
   }
	
   /**
   * @return the age
   */
   public int getAge() {
      return age;
   }
	
   /**
   * @param age the age to set
   */
   public void setAge(int age) {
      this.age = age;
   }
}

Lớp EmployeeDetails được sử dụng để:

  • get/set giá trị của tên nhân viên.
  • get/set giá trị tiền lương hàng tháng của nhân viên.
  • get/set giá trị tuổi của nhân viên.

Tạo file EmpBusinessLogic.java trong C:\>JUNIT_WORKSPACE, lớp này chứa logic nghiệp vụ.

public class EmpBusinessLogic {
   // Tính lương hàng năm của nhân viên
   public double calculateYearlySalary(EmployeeDetails employeeDetails) {
      double yearlySalary = 0;
      yearlySalary = employeeDetails.getMonthlySalary() * 12;
      return yearlySalary;
   }
	
   // Tính thưởng cho nhân viên
   public double calculateAppraisal(EmployeeDetails employeeDetails) {
      double appraisal = 0;
		
      if(employeeDetails.getMonthlySalary() < 10000){
         appraisal = 500;
      }else{
         appraisal = 1000;
      }
		
      return appraisal;
   }
}

Lớp EmpBusinessLogic được sử dụng để tính toán:

  • lương hàng năm của một nhân viên.
  • thưởng của một nhân viên.

Tạo một file có tên TestEpriseeDetails.java trong C:\>JUNIT_WORKSPACE, chứa các test case sẽ được kiểm tra.

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

public class TestEmployeeDetails {
   EmpBusinessLogic empBusinessLogic = new EmpBusinessLogic();
   EmployeeDetails employee = new EmployeeDetails();

   //test to check appraisal
   @Test
   public void testCalculateAppriasal() {
      employee.setName("Rajeev");
      employee.setAge(25);
      employee.setMonthlySalary(8000);
		
      double appraisal = empBusinessLogic.calculateAppraisal(employee);
      assertEquals(500, appraisal, 0.0);
   }

   // test to check yearly salary
   @Test
   public void testCalculateYearlySalary() {
      employee.setName("Rajeev");
      employee.setAge(25);
      employee.setMonthlySalary(8000);
		
      double salary = empBusinessLogic.calculateYearlySalary(employee);
      assertEquals(96000, salary, 0.0);
   }
}

Lớp TestEpriseeDetails được sử dụng để kiểm tra các phương thức của lớp EmpBusinessLogic. Nó sẽ:

  • kiểm tra mức lương hàng năm của nhân viên.
  • kiểm tra thưởng của nhân viên.

Tiếp theo, tạo một lớp 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(TestEmployeeDetails.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 EmployeeDetails.java 
EmpBusinessLogic.java TestEmployeeDetails.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.

true
» Tiếp: Sử dụng Assertion
« Trước: API
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 !!!