Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 13 su 13
  1. #11
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    io non so come spiegartele le cose, davvero.
    Allora tu hai un metodo ad esempio

    codice:
    public List getUser (String idUser) throws QualcheException;
    devi accertare che qualsiasi idUser tu hai in input, hai il giusto valore di ritorno.
    Il tuo metodo deve:

    1. ritornare una lista vuota (più logico di null per tanti motivi) se idUser non esiste nel db
    2. ritornare la lista con un elemento se la persona è nel db
    3. lanciare QualcheException se si verifica un problema.

    Il tuo metodo ad esempio è
    Codice PHP:
    public List getUser (String idUserthrows QualcheException
           List 
    result = new ArrayList(); 
           
    String query "SELECT * FROM Persone WHERE id = \"" idUser "\"; 
           //ti connetti al db, esegui la query e poi hai valorizzi la lista di return 
            // result = eseguiQuery( query ); 
           return result; 

    Ora il tuo test deve fare in modo che qualsiasi id tu dai hai un risultato coerente.
    Ma il tuo test chiama il metodo che fa la query, non devi riportare dentro il test le cose che fai dentro il metodo!!!
    Es.

    Codice PHP:

    public void testUserNotOk(){
      
    String id "6"
      
    // ti aspetti vuoto
      
    List temp getUser(id); 
      
    assertNotEquals(tempnull); 
      
    assertEquals(temp.size(), 0); 
    }

    public 
    void testUserOk(){
      
    String id "5"
      
    // ti aspetti insieme valido
      
    List temp getUser(id); 
      
    assertNotEquals(tempnull); 
      
    assertNotEquals(temp.size(), 0); 
      
    assertEquals(temp.size(), 1); 
      
    assertEquals(temp.get(0).getNome(), "PROVA"); 
    }

    public 
    void testUserNotOk(){
      
    String id null;
      
    // ti aspetti eccezione
      
    try{
        List 
    temp getUser(id); 
      }catch(
    QualcheException ex){
      
    assertEquals(ex.getMessage(), "Messaggio generato dall'eccezione") ;
       }
      
    // se arrivi qui è fail, non è previsto

    questo è il modo di scrivere una funzione e di usare gli unit test.
    RTFM Read That F*** Manual!!!

  2. #12
    Allora, quello che hai scritto tu è quello che ho capito anche io, il problema che questo non coincide con quello che ha detto il mio tutor. Lui mi ha detto che dovevo farlo in quel modo e se mi sono scimunita è perchè lui, mi ha fatto una testa enorme dicendo che avrei dovuto farlo in quel modo. Anche ieri, quando sono andata, mi ha detto che dovevo farlo inserendo le query e cose del genere. Comunque, ti ringrazio del tuo tempo e del tuo aiuto ma io mi so scocciata e quindi ci rinuncio proprio anche perchè alla fine già 3 del gruppo se ne sono andati per lo stesso motivo cioè non lo sopportavano e anche lui ha fatto di tutto per allontanarli quindi penso che me ne andrò pure io e pazienza. Grazie ancora.

  3. #13
    Utente di HTML.it
    Registrato dal
    Feb 2007
    Messaggi
    4,157
    sono tre le cose che penso adesso:

    1. il tutor è un po' ignorante in materia
    2. il tutor deliberatamente cerca di togliersi lavoro da fare trattandovi così
    3. non è che per caso tu hai scritto una tua versione di
    codice:
    session = sessionFactory.openSession();
    query = session.createQuery( "select nome from Utente where id=6" )
    ??

    in quel caso il metodo da testare non sarebbe getUser (come pensavo), ma appunto quelli che ho scritto su e il tuo tutor ha ragione.
    Resta di fatto che il test si gestisce come ti ho fatto vedere
    RTFM Read That F*** Manual!!!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.