Pessoal, preciso de uma ajuda, estou realizando um estudo com JUnit quero simular um erro, mas quando eu rodo no console aparece o erro, porém o Junit não captura o erro.
Basicamente o erro que estou tentando simular é o seguinte estou chamando em uma classe chamada: GerarTabelasTest o método gerar que esta com anotação @Test o metodo esta chamando o metodo HibernateUtil.getSessionFactory(); O Junit teria que capturar o erro pois o banco não esta ativo e portanto é gerado um erro, mas não é o que acontece, o erro aparece no console, mas para o Junit tudo estar normal.
import org.junit.Test;
import br.com.drogaria.util.HibernateUtil;
public class GerarTabelasTest {
@Test
public void gerar(){
HibernateUtil.getSessionFactory();
Não sei se entendi exatamente o que você esperava, mas mesmo assim fiz um teste.
Na anotação @Test adicionei o expected, que avisa ao JUnit para esperar uma exceção, que no seu caso é a ExceptionInInitializerError. Se não colocar o expected o teste falha.
A mensagem que aparece no terminal é porque você deu um syso para ver a mensagem.
Veja as classes e de um retorno.
Usei o Maven para gerenciar as dependências (apenas para facilitar a vida aqui), caso não esteja usando desconsidere o pom.xml.