Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 19 su 19

Discussione: [java] test di unità

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    124
    Certo, fatta. ho seguito la documentazione

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,328
    Allora dovresti dire con esattezza quale errore ti dà il compilatore, ovvero riportare esattamente il messaggio d'errore... la prima cosa che mi era venuta in mente era una "Cannot find symbol", perchè è la più "gettonata"; purtroppo non abbiamo poteri di chiaroveggenza.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    124
    Indica riferimento ad un puntatore null

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Guardando il tuo frammento vedo che mproc e pprova sono locali al metodo setup() ma le usi anche nel test. Se non hai errori di compilazione allora avrai degli attributi omonimi che non inizializzi.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    124
    Questa è la stringa di errore:
    java.lang.Error: Unresolved compilation problem:
    The method doReturn(Process) is undefined for the type DeprecatedOngoingStubbing<Process>

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Puoi postare il codice completo?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    124
    codice:
    import static org.mockito.Mockito.*;
    
    
    import static org.junit.Assert.*;
    
    
    import org.junit.Test;
    import org.junit.Before;
    
    
    
    
    
    
    public class ProcessDaoTest {
    	
    	Process pprova;
    	ProcessDao mproc;
    	
    	@Before
        public void setup() {
            Process pprova= mock(Process.class);
            ProcessDao mproc= mock(ProcessDao.class);
        }
    
    
    
    
        @Test
        public void testGetProcess() {
            stub(mproc.getProcess(1)).doReturn(pprova);
            
            Process result=mproc.getProcess(1);
            
            assertSame("test ok", result,pprova);
            verify (mproc);
        }

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    1) Ma hai letto cosa ti ho scritto prima?

    codice:
    Process pprova;   <--- QUESTO SARA' SEMPRE null!
    ProcessDao mproc; <--- QUESTO SARA' SEMPRE null!
    
    @Before
    public void setup() {
       Process pprova = mock(Process.class);
        ProcessDao mproc = mock(ProcessDao.class);
    }
    Non è questo il problema ma è comunque un grave errore.

    2) stub() sarebbe deprecato...

    3) Il metodo da chiamare sullo stub è toReturn() e non doReturn()

    4) Ti consiglio di usare le annotazioni per i tuoi unit test:

    codice:
        @Mock
        private Process pprova;
    
        @Mock
        private ProcessDao mproc;
    
        @Before
        public void setUp() {
            MockitoAnnotations.initMocks(this);
        }
    
        @Test
        public void testGetProcess() {
            stub(mproc.getProcess(1)).toReturn(pprova);
    
            Process result = mproc.getProcess(1);
    
            assertSame("test ok", result, pprova);
            verify(mproc);
        }
    (ovviamente il test per come lo stai facendo è inutile, come ti ha detto andbin)
    Ultima modifica di LeleFT; 12-09-2014 a 10:17
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    124
    Quote Originariamente inviata da Alex'87 Visualizza il messaggio

    codice:
            verify(mproc);
    Qualcuno mi può dire a cosa serve l'istruzione sopra, posta al termine del test?

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.