JUnit – 编写测试

扫码关注公众号:Java 技术驿站

发送:vip
将链接复制到本浏览器,永久解锁本站全部文章

【公众号:Java 技术驿站】 【加作者微信交流技术,拉技术群】
免费领取10G资料包与项目实战视频资料

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) 打赏
版权归原创作者所有,任何形式的转载请联系博主:daming_90:Java 技术驿站 » JUnit – 编写测试

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏