Junit con eccezioni custom

di il
2 risposte

Junit con eccezioni custom

Sto provando a creare dei casi di test che si accorgano quando un metodo invocato genera un eccezione.

quindi ho creato tre classi:

myException
package eccezioni;

public class myException  extends Exception{
	

	public myException (String message) {
		super(message);
		
	}
}


test
package eccezioni;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.rules.ExpectedException;

public class test {

	@Test(expected=Exception.class)
	    public void yourTestMethodName() throws myException {
	          tryC c = new tryC();
	          c.prova();
	              
	    }
e poi questa tryC
package eccezioni;

public class tryC {
	public void prova()throws myException{
		try{
			System.out.println("richiamo");
			int x = 0;
			if (x ==0)
				throw new myException("eccezione richiamata");
			
		}catch(myException e){
			e.printStackTrace();
		}
	}
}


	

}
il problema è che sebbene l'eccezione sia rilevata in console, Junit sembra non rilevare nulla.

E' una giornata intera che navigo per trovare una soluzione, non ne vengo a capo !

2 Risposte

  • Re: Junit con eccezioni custom

    poel ha scritto:


    il problema è che sebbene l'eccezione sia rilevata in console, Junit sembra non rilevare nulla.
    Sicuramente non hai considerato che avendo fatto un catch di myException (con solo il print dello stack trace), la eccezione poi non esce da prova() !


    P.S. Se vuoi imparare ad usare JUnit in modo un po' più "realistico", prova a fare una classe con metodi statici di "utilità" ad esempio su stringhe o array o collezioni. E poi prova a testarla con JUnit.
  • Re: Junit con eccezioni custom

    Grazie, ho risolto proprio stamattina dopo ore e ore senza capire :S
Devi accedere o registrarti per scrivere nel forum
2 risposte