2021-05-29 11:07  阅读(1559)
文章分类:JUnit 教程 文章标签:JUnit单元测试
©  原文作者:w3cschool 原文地址:https://www.w3cschool.cn/junit/

JUnit - 编写测试

在这里你将会看到一个应用 POJO 类,Business logic 类和在 test runner 中运行的 test 类的 JUnit 测试的例子。

C:\ > JUNIT_WORKSPACE 路径下创建一个名为 EmployeeDetails.java 的 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;
           }
        }

EmployeeDetails 类被用于

  • 取得或者设置雇员的姓名的值
  • 取得或者设置雇员的每月薪水的值
  • 取得或者设置雇员的年龄的值

C:\ > JUNIT_WORKSPACE 路径下创建一个名为 EmpBusinessLogic.java 的 business logic 类

        public class EmpBusinessLogic {
           // Calculate the yearly salary of employee
           public double calculateYearlySalary(EmployeeDetails employeeDetails){
              double yearlySalary=0;
              yearlySalary = employeeDetails.getMonthlySalary() * 12;
              return yearlySalary;
           }
    
           // Calculate the appraisal amount of employee
           public double calculateAppraisal(EmployeeDetails employeeDetails){
              double appraisal=0;
              if(employeeDetails.getMonthlySalary() < 10000){
                 appraisal = 500;
              }else{
                 appraisal = 1000;
              }
              return appraisal;
           }
        }

EmpBusinessLogic 类被用来计算

  • 雇员每年的薪水
  • 雇员的评估金额

C:\ > JUNIT_WORKSPACE 路径下创建一个名为 TestEmployeeDetails.java 的准备被测试的测试案例类

        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);
           }
        }
    

TestEmployeeDetails 是用来测试 EmpBusinessLogic 类的方法的,它

  • 测试雇员的每年的薪水
  • 测试雇员的评估金额

现在让我们在 C:\ > JUNIT_WORKSPACE 路径下创建一个名为 TestRunner.java 的类来执行测试案例类

        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());
           }
        } 

用javac编译 Test case 和 Test Runner 类

        C:\JUNIT_WORKSPACE>javac EmployeeDetails.java 
        EmpBusinessLogic.java TestEmployeeDetails.java TestRunner.java

现在运行将会运行 Test Case 类中定义和提供的测试案例的 Test Runner

        C:\JUNIT_WORKSPACE>java TestRunner

检查运行结果

        true

作者:w3cschool 来源:https://www.w3cschool.cn

点赞(0)
版权归原创作者所有,任何形式转载请联系作者; Java 技术驿站 >> JUnit – 编写测试
上一篇
JUnit – API
下一篇
JUnit – 使用断言