在这里你将会看到一个应用 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 employeepublic double calculateYearlySalary(EmployeeDetails employeeDetails){double yearlySalary=0;yearlySalary = employeeDetails.getMonthlySalary() * 12;return yearlySalary;}// Calculate the appraisal amount of employeepublic 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@Testpublic 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@Testpublic 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.javaEmpBusinessLogic.java TestEmployeeDetails.java TestRunner.java
现在运行将会运行 Test Case 类中定义和提供的测试案例的 Test Runner
C:\JUNIT_WORKSPACE>java TestRunner
检查运行结果
true
转载本站内容时,请务必注明来自W3xue,违者必究。


优化或报错有奖
皖公网安备34020702000426号