venerdì 23 dicembre 2011

Progetto di test Junit su Eclipse

Per creare un semplice progetto di Junit test su eclipse occorre:
  • Scaricarsi la libreria Junit da qui;
  • Inserire il jar di Junit nella lib del progetto e aggiungerla al classpath;
  • Scrivere una classe java che estenda la classe junit.framework.TestCase;
  • Definire una serie di metodi void con firma public void testXXXX();
  • Lanciare la classe scegliendo tra le opzioni run as Junit-test
Nel mio caso ad esempio volevo testare un metodo per la validazione della partita iva.
Ho preso quindi delle partite iva corrette e alcune sbagliate, scrivendo un metodo di questo tipo:

public void testPartitaIva(){
  PartitaIva p=PartitaIva.getInstance();
  System.out.println("Inizio test partita iva...");
  assertEquals(true, p.verificaPartitaIva("07973780013"));
  assertEquals(true, p.verificaPartitaIva("00875591000"));
  assertEquals(true, p.verificaPartitaIva("13212880150"));
  assertEquals(true, p.verificaPartitaIva("04914190824"));
  assertEquals(true, p.verificaPartitaIva("00905811006"));
  assertEquals(false, p.verificaPartitaIva("00905811007"));
  assertEquals(false, p.verificaPartitaIva("04914190825"));
  assertEquals(false, p.verificaPartitaIva("13212880151"));
  assertEquals(false, p.verificaPartitaIva("00875591009"));
  assertEquals(false, p.verificaPartitaIva("07973780016"));
  System.out.println("Partita iva ok");
       
    }


Eseguendolo come test Junit sulla console di Eclipse nel caso in cui non ci siano errori appare la seguente schermata:



2 commenti:

  1. ciao, volevo domandarti una cosa, il metodo getInstance lo hai creato tu in PartitaIva? vorresti postarlo

    RispondiElimina
  2. Ciao, si il metodo lo ho creato io è un classico singleton (mi serviva in quel caso perchè c'erano n controlli in un batch)
    Era una cosa di questo tipo
    ....
    private static PartitaIva instance;

    private PartitaIva(){
    //costruttore vuoto privato per evitare che possa essere
    // istanziato direttamente
    }
    public PartitaIva getInstance(){
    if(istanza==null) istanza=new PartitaIva();
    return istanza;
    }
    ....

    RispondiElimina