Dudas con JUnit en Java

Iniciado por doSomething(), 17 Enero 2020, 19:36 PM

0 Miembros y 1 Visitante están viendo este tema.

doSomething()

Buenas, necesito ayuda con un ejercicio práctico sobre pruebas unitarias con JUnit en Java.
Me piden que resuelva el siguiente fragmento de código con los métodos assertEquals y fail, además de tratar la excepción con try-catch. La clase Ejercicio devuelve el precio en función del tipo de servicio y del tiempo.
public class Ejercicio {
...
public double getPrecio(int tipo, int tiempo) throws ExceptionTipo {
double importe = 0;
switch(tipo) {
case 1:
importe += 2;
if(tiempo >= 2) {
importe += (tiempo - 2) * 1.5;
}
break;
case 2:
importe += tiempo * 3;
break;
default:
throw new ExceptionTipo("Tipo erróneo.");
}
}
...
}
// Suponga creada la clase ExceptionTipo


Gracias y un salu2.

Beginner Web

faltaría el try catch y ya
7w7

CalgaryCorpus

JUnit se da cuenta de las excepciones que uno no captura y hace fallar los tests unitarios.
De modo que si el test espera que no hayan excepciones, sino que se devuelva un valor, es eso lo que deberia ponerse en el test unitario.

Y si por alguna razon el test falla, (porque se arrojo una excepcion para ese caso), hay que corregir el codigo, no el test.

Agregarle un fail() en el caso de excepcion no agrega nada, pues JUnit ya te hubiera avisado de la falla si hubieses usado el assert que en teoria tienes que usar.
Aqui mi perfil en LinkedIn, invitame un cafe aqui