Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42

    JUnit e il metodo non statico per i test

    Salve ragazzi, ho creato una classe fon metodo main che calcola quando l'anno é bisestile. Ho creato un costruttore non statico con parametro (int anno). Di seguito una funzione di tipo int di nome CalcoloAnno, senza parametro e soprattutto non statico. Bene... Ora in JUnit mi serve testare questa classe. Estendo la classe JUnit a TestCase.

    Tralasciando i convenevoli. Imposto due array di interi. Uno per i casi di test e uno per il risultato atteso.

    Int[] test1 = {2000, 1996i, 2004,....};
    Int[] expected ={1,0, 1}
    //0 quando l'anno non č bisestile, 1 quando lo č

    Nel metodo test della classe JUnit

    For(int i = 0; I < test1.length;i ++){

    assertEquals(expected[i],........) //come passo il parametro test1?

    }

    So che mettendo la funzione CalcoloAnno static, e mettendoci il parametro int risolvere,
    ma la traccia d'esame su cui mi sto esercitando chiede costruttore e funzione senza static,

    Ovviamente ho provato creando una variabile
    Annobisestile[] test1 = new Annobisestile(...)

    riempiendo l'array test1 una posizione alla voltafunziona, ma troppo lungo per tutti i possibili casi di test. Qualche alternativa?

  2. #2
    Fai una classe App con metodo statico main che istanzia una classe Annobisestile a cui passi (costruttore o meno fai te) l'anno da calcolare leggendo dagli args del metodo main (o da dove ti pare a te). che poi, perchč c'č il metodo statico main? ti serve a qulcosa?

    quindi ad anno bisestile togli il metodo statico main e lasci solo quello che serve per compiere il suo lavoro

    a questo punto in junit verrā tutto da se. il ciclo for potrebbe essere:

    codice:
    for(int i = 0; i < test1.length; i++)
    {
    
        Annobisestile anno = new Annobisestile(test1[i]);
        assertEquals(expected[i], anno.calcolaSeAnnoBisestile());
    
    }
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42
    Ho una classe AnnoBisestile con

    public static int anno; // dichiaro variabile anno

    public AnnoBisestile(int anno){

    this.anno = anno;

    } // costruttore

    public int CalcoloAnno() // funzione per verificare che l'anno sia


    public static void main (Strings[] args) // metodo main per visualizzare le stime (si č un anno bisestile oppure no, nonč un anno bisestile)

    La traccia dell'esame richiede questa classe, e poi una JUnit Annobisestiletest extends TestCase

    Domani provo come mo hai chiesto tu, ma Misa che non Funziona lo stesso

  4. #4
    Ma guarda, non penso proprio che la traccia d'esame ti abbia detto di fare "quella cosa". Domani rileggiamo la traccia d'esame
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42

  6. #6
    Utente di HTML.it L'avatar di BlueSmurf
    Registrato dal
    Sep 2015
    residenza
    Bari
    Messaggi
    42
    P.s. Ho provato come hai detto tu e funziona alla perfezioneeeee grazie mille

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.