Certo, fatta. ho seguito la documentazione
Certo, fatta. ho seguito la documentazione
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
Indica riferimento ad un puntatore null
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
Questa è la stringa di errore:
java.lang.Error: Unresolved compilation problem:
The method doReturn(Process) is undefined for the type DeprecatedOngoingStubbing<Process>
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
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); }
1) Ma hai letto cosa ti ho scritto prima?
Non è questo il problema ma è comunque un grave errore.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); }
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:
(ovviamente il test per come lo stai facendo è inutile, come ti ha detto andbin)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); }
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