JUnit - Prueba de excepciones
JUnit proporciona una opción para rastrear el manejo de excepciones del código. Puede probar si el código arroja una excepción deseada o no. losexpectedEl parámetro se usa junto con la anotación @Test. Veamos @Test (esperado) en acción.
Crear una clase
Cree una clase de Java para probar, digamos, MessageUtil.java en C: \> JUNIT_WORKSPACE.
Agregue una condición de error dentro del método printMessage ().
/*
* This class prints the given message on console.
*/
public class MessageUtil {
private String message;
//Constructor
//@param message to be printed
public MessageUtil(String message){
this.message = message;
}
// prints the message
public void printMessage(){
System.out.println(message);
int a = 0;
int b = 1/a;
}
// add "Hi!" to the message
public String salutationMessage(){
message = "Hi!" + message;
System.out.println(message);
return message;
}
}
Crear clase de caso de prueba
Crea una clase de prueba de Java llamada TestJunit.java. Agregue una excepción esperada ArithmeticException al caso de prueba testPrintMessage ().
Cree un archivo de clase java llamado TestJunit.java en C: \> JUNIT_WORKSPACE.
import org.junit.Test;
import org.junit.Ignore;
import static org.junit.Assert.assertEquals;
public class TestJunit {
String message = "Robert";
MessageUtil messageUtil = new MessageUtil(message);
@Test(expected = ArithmeticException.class)
public void testPrintMessage() {
System.out.println("Inside testPrintMessage()");
messageUtil.printMessage();
}
@Test
public void testSalutationMessage() {
System.out.println("Inside testSalutationMessage()");
message = "Hi!" + "Robert";
assertEquals(message,messageUtil.salutationMessage());
}
}
Crear clase de corredor de pruebas
Cree un archivo de clase java llamado TestRunner.java en C: \> JUNIT_WORKSPACE para ejecutar caso (s) de prueba.
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(TestJunit.class);
for (Failure failure : result.getFailures()) {
System.out.println(failure.toString());
}
System.out.println(result.wasSuccessful());
}
}
Compile las clases MessageUtil, Test case y Test Runner usando javac.
C:\JUNIT_WORKSPACE>javac MessageUtil.java TestJunit.java TestRunner.java
Ahora ejecute Test Runner, que ejecutará los casos de prueba definidos en la clase Test Case proporcionada.
C:\JUNIT_WORKSPACE>java TestRunner
Verifique la salida. Se pasará el caso de prueba testPrintMessage ().
Inside testPrintMessage()
Robert
Inside testSalutationMessage()
Hi!Robert
true