es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Manejo de excepciones Junit en el “before”

Mi pregunta es que no tengo idea de cómo manejar las excepciones en el bloque @before de Junit4.
Por ejemplo:

@Before
public void init() throws Exception{
b=new FirstNationalBank();
acc1=b.openAccount();
acc2=b.openAccount();
try{
b.deposit(acc1, 1500);
b.deposit(acc2, 12000);
}catch(Exception ex) {
throw new Exception();
}
}

La forma en que lo hice no parece correcta, o tal vez lo es, pero no estoy seguro de si esto arrojará un error o cómo reaccionará cuando se arroje una excepción inesperada o de cualquier tipo.

¿Cómo lo manejaría?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en informática especializado en Java, Exception, JUnit y JUnit4, recomiendo manejar las excepciones en el bloque @Before de JUnit4 al agregar una clase de excepción específica en la firma del método en lugar de arrojar una clase de Excepción genérica. Esto le permitirá ser más preciso al manejar diferentes tipos de excepciones que puedan ocurrir en el método.

    Por ejemplo:

    @Before
    public void init() throws BankOperationException {
        b = new FirstNationalBank();
        acc1 = b.openAccount();
        acc2 = b.openAccount();
        try {
            b.deposit(acc1, 1500);
            b.deposit(acc2, 12000);
        } catch (BankOperationException ex) {
            throw new BankOperationException("Se produjo un error al inicializar las cuentas");
        }
    }
    

    En este ejemplo, he utilizado una clase de excepción personalizada BankOperationException en lugar de la clase de Excepción genérica. Además, he capturado la excepción específica que puede ocurrir al depositar fondos en las cuentas y he arrojado una nueva instancia de la misma excepción con un mensaje personalizado. Esto ayudará a identificar la causa exacta de la excepción y tomar medidas apropiadas para manejarla.

    En general, la clave para manejar excepciones en el bloque @Before de JUnit4 es ser específico en el manejo de excepciones y utilizar clases de excepción personalizadas cuando sea posible.

Comments are closed.