Esiste un modo per verificare che sia stata rilevata un'eccezione? Intendo dire che nel mio metodo c'è una situazione in cui dovrei rilevare l'eccezione e nel test voglio verificare che l'eccezione sia stata catturata.Verificare che sia stata rilevata un'eccezione con Mockito e PowerMock
risposta
Penso che la risposta non sia - forse si potrebbe farcela con qualche intenso dibattito, ma se così fosse, non penso che varrebbe la pena.
Ma penso (senza vedere il metodo), probabilmente si può ancora possibile ottenere una copertura completa del metodo:
- Se il metodo richiede alcuna azione dopo la cattura l'eccezione, affermare o verificare che quelle azioni è accaduto.
- Se nessuna azione avviene dopo la cattura l'eccezione, affermare o verificare che tutto ciò che dovevano azioni per accadere, ma sono stati tagliati fuori dalla deroga , non ha accada.
- infine, (ancora una volta, non vedendo il tuo metodo non so esattamente cosa hai a che fare con) se il metodo è nullo, e non succede nulla dopo la cattura l'eccezione, e l'ultima riga della logica è cosa può lanciare l'eccezione, quindi considerare di rendere il metodo restituire un valore booleano , restituirlo false se l'eccezione viene rilevata e true in caso contrario. Quindi, nel test, creare uno scenario che dovrebbe causare l'eccezione da lanciare e catturare e verificare che il metodo restituisca false.
Difficile dare qualche consiglio senza alcun esempio. Ma se l'eccezione non venisse catturata, saliva fino a raggiungere il test e il test falliva, perché veniva lanciata un'eccezione. So che non verifica che sia stato catturato in un blocco specifico ma solo che è stato catturato del tutto.
Cosa fa questa eccezione nel programma se non viene rilevato? Se causa il crash del programma, puoi semplicemente eseguire la parte del test di Act all'interno di un blocco try {}. Se lancia un'eccezione puoi prenderlo e fallire il test.
Un'altra opzione, se l'eccezione cacught provoca un metodo da chiamare, dire printToLog() è possibile verfiy che il metodo è stato effettivamente chiamato con i parametri corretti (usando Mockito).
Si dovrebbe essere in grado di simulare l'elemento che si desidera generare l'eccezione, in modo che generi l'eccezione e quindi verificare che non ci siano chiamate ad altri metodi che verrebbero richiamati se non si è verificata alcuna eccezione.
Controllare anche lo stato come previsto quando viene generata un'eccezione.
Come si fa a escludere un'eccezione di puntatore nullo? –
- 1. Verificare che un'attività sia stata avviata con FLAG_ACTIVITY_CLEAR_TOP
- 2. beffardo statico con PowerMock e Mockito non funziona
- 3. Robolectric + PowerMock + Mockito non funziona
- 4. Verificare che la posta sia stata inviata dai test unitari
- 5. Utilizzando Mockito, come posso verificare che un metodo sia stato chiamato con un determinato argomento?
- 6. Come simulare il campo finale? Mockito/powermock
- 7. Esecuzione di Junit e PowerMock con Mockito tramite PowerMockRunner di Maven
- 8. Come arrivare Powermock lavorare con Dexmaker
- 9. Powermock, Mockito nullpointerexception quando si chiama super() JDialog
- 10. Ottenere javassist non trovato con PowerMock e PowerRule in Junit con Mockito
- 11. ExceptionInInitializerError con PowerMock e Robolectric
- 12. Come verificare che una funzione sia stata chiamata dopo che è stato attivato un evento?
- 13. Ottieni java.lang.NullPointerException quando provi a prendere in giro il metodo privato con mockito e powermock
- 14. Aiuto con Ruby Koans # 6 - Quale eccezione è stata rilevata?
- 15. Assicurati che l'applicazione Android sia stata installata da Play-Store
- 16. Mockito - verifica che nessuno dei metodi del collaboratore sia chiamato
- 17. Mockito può verificare che un argomento abbia determinate proprietà/campi?
- 18. Perché non PowerMock
- 19. PowerMock getta NoSuchMethodError (setMockName)
- 20. problemi durante l'utilizzo di @RunWith Annotazione e powerMock
- 21. Come verificare che la variabile in una classe diversa sia stata aggiornata?
- 22. Verificare che un delegato sia stato chiamato con Moq
- 23. Come verificare che un'applicazione Asp.NET sia compatibile con FIPS
- 24. possiamo usare il checksum per verificare che la riga sia stata cambiata (server sql)?
- 25. Come verificare che un JCheckBox sia selezionato?
- 26. Come verificare che un file sia vuoto?
- 27. Come posso verificare che una finestra sia stata chiusa in JavaScript?
- 28. Utilizzo di PowerMock e Mockito in un test di Strumentazione Android - Errore - File duplicati - org.mockito.plugins.MockMaker
- 29. VBA Outlook chiama Excel Macro e aspetta che la macro sia stata completata
- 30. Posso verificare che una classe sia * non * predefinita costruibile?
ho dato una risposta, ma ho potuto renderlo più preciso per voi, se si posta il metodo si sta testando. –