JUnit - Ecrire un test
Ici, nous allons voir un exemple complet de test JUnit utilisant la classe POJO, la classe de logique métier et une classe de test, qui sera exécutée par le testeur.
Créer EmployeeDetails.java dans C: \> JUNIT_WORKSPACE, qui est une classe 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 la classe est utilisée pour -
- obtenir / définir la valeur du nom de l'employé.
- obtenir / définir la valeur du salaire mensuel de l'employé.
- obtenir / définir la valeur de l'âge de l'employé.
Créez un fichier appelé EmpBusinessLogic.java dans C: \> JUNIT_WORKSPACE, qui contient la logique métier.
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 la classe est utilisée pour calculer -
- le salaire annuel d'un employé.
- le montant de l'évaluation d'un employé.
Créez un fichier appelé TestEmployeeDetails.java dans C: \> JUNIT_WORKSPACE, qui contient les cas de test à tester.
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 class est utilisé pour tester les méthodes de EmpBusinessLogicclasse. Il
- teste le salaire annuel de l'employé.
- teste le montant de l'évaluation de l'employé.
Ensuite, créez une classe java nommée TestRunner.java dans C: \> JUNIT_WORKSPACE pour exécuter le ou les cas de test.
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());
}
}
Compilez le scénario de test et les classes Test Runner à l'aide de javac.
C:\JUNIT_WORKSPACE>javac EmployeeDetails.java
EmpBusinessLogic.java TestEmployeeDetails.java TestRunner.java
Exécutez maintenant le Test Runner, qui exécutera le scénario de test défini dans la classe de scénario de test fournie.
C:\JUNIT_WORKSPACE>java TestRunner
Vérifiez la sortie.
true