Podcast
Questions and Answers
Quale annotazione permette di disabilitare un test o una classe di test?
Quale annotazione permette di disabilitare un test o una classe di test?
- @ValueSource
- @Disabled (correct)
- @DisplayName
- @ParameterizedTest
Quale annotazione viene utilizzata per fornire un singolo argomento null a un metodo di test parametrizzato?
Quale annotazione viene utilizzata per fornire un singolo argomento null a un metodo di test parametrizzato?
- @MethodSource
- @NullSource (correct)
- @EmptySource
- @ValueSource
Cosa permette di fare l'annotazione @DisplayName?
Cosa permette di fare l'annotazione @DisplayName?
- Disabilitare un test
- Generare argomenti per i test
- Dare un nome descrittivo al test (correct)
- Clonare un metodo di test
Quale delle seguenti annotazioni è utilizzata per fornire valori letterali come argomenti per un test parametrizzato?
Quale delle seguenti annotazioni è utilizzata per fornire valori letterali come argomenti per un test parametrizzato?
L'annotazione @NullAndEmptySource è una combinazione di quali altre annotazioni?
L'annotazione @NullAndEmptySource è una combinazione di quali altre annotazioni?
Quale annotazione deve essere specificata con almeno una fonte di argomenti per un test parametrizzato?
Quale annotazione deve essere specificata con almeno una fonte di argomenti per un test parametrizzato?
Cosa fa l'annotazione @EmptySource quando utilizzata con un test parametrizzato?
Cosa fa l'annotazione @EmptySource quando utilizzata con un test parametrizzato?
Quale tra le seguenti affermazioni è vera riguardo all'annotazione @MethodSource?
Quale tra le seguenti affermazioni è vera riguardo all'annotazione @MethodSource?
Qual è lo scopo principale dell'annotazione @Test in JUnit?
Qual è lo scopo principale dell'annotazione @Test in JUnit?
Quale asserzione causa il fallimento se l'oggetto passato come parametro non è nullo?
Quale asserzione causa il fallimento se l'oggetto passato come parametro non è nullo?
Quale annotazione viene utilizzata per eseguire un metodo una sola volta prima di tutti i test nella classe?
Quale annotazione viene utilizzata per eseguire un metodo una sola volta prima di tutti i test nella classe?
Qual è la funzione di @AfterEach in JUnit?
Qual è la funzione di @AfterEach in JUnit?
Quale delle seguenti affermazioni riguardanti le asserzioni è falsa?
Quale delle seguenti affermazioni riguardanti le asserzioni è falsa?
Quale asserzione in JUnit è specifica per il confronto di numeri reali con tolleranza?
Quale asserzione in JUnit è specifica per il confronto di numeri reali con tolleranza?
Cosa succede se un metodo annotato con @Test non contiene asserzioni?
Cosa succede se un metodo annotato con @Test non contiene asserzioni?
Quale delle seguenti annotazioni deve essere statica?
Quale delle seguenti annotazioni deve essere statica?
Flashcards
Cosa indica @Test?
Cosa indica @Test?
L'annotazione @Test identifica un metodo come un test case. Il metodo annotato verifica un singolo comportamento del sistema e deve contenere almeno un'asserzione.
Cos'è un'asserzione?
Cos'è un'asserzione?
Un'asserzione è un metodo che verifica un risultato atteso all'interno di un test.
Come si usa assertEquals?
Come si usa assertEquals?
Il metodo assertEquals(expected, actual) verifica se il valore previsto (expected) è uguale al valore reale (actual).
Cosa fa @BeforeEach?
Cosa fa @BeforeEach?
Signup and view all the flashcards
Cosa fa @BeforeAll?
Cosa fa @BeforeAll?
Signup and view all the flashcards
Cosa fa @AfterEach?
Cosa fa @AfterEach?
Signup and view all the flashcards
Cosa fa @AfterAll?
Cosa fa @AfterAll?
Signup and view all the flashcards
Cosa fa fail()?
Cosa fa fail()?
Signup and view all the flashcards
Cosa fa l'annotazione @Disabled?
Cosa fa l'annotazione @Disabled?
Signup and view all the flashcards
Cosa fa l'annotazione @DisplayName?
Cosa fa l'annotazione @DisplayName?
Signup and view all the flashcards
Cosa sono i test parametrizzati?
Cosa sono i test parametrizzati?
Signup and view all the flashcards
Cosa fa l'annotazione @ValueSource?
Cosa fa l'annotazione @ValueSource?
Signup and view all the flashcards
Cosa fa l'annotazione @NullSource?
Cosa fa l'annotazione @NullSource?
Signup and view all the flashcards
Cosa fa l'annotazione @EmptySource?
Cosa fa l'annotazione @EmptySource?
Signup and view all the flashcards
Cosa fa l'annotazione @NullAndEmptySource?
Cosa fa l'annotazione @NullAndEmptySource?
Signup and view all the flashcards
Cosa fa l'annotazione @MethodSource?
Cosa fa l'annotazione @MethodSource?
Signup and view all the flashcards
Study Notes
JUnit e JUnit 5: Metodi e Annotazioni Fondamentali
-
@Test
: Indica un metodo come un test case. Il metodo deve verificare un singolo comportamento del sistema e contenere almeno un'asserzione. I nomi dei metodi devono essere significativi. -
Asserzioni: Metodi che verificano un singolo risultato atteso. JUnit fornisce diversi tipi di asserzioni:
fail()
: Causa il fallimento del test.assertTrue(boolean a)
: Fallisce sea
è falso.assertFalse(boolean a)
: Fallisce sea
è vero.assertNull(Object a)
: Fallisce sea
non è null.assertNotNull(Object a)
: Fallisce sea
è null.assertEquals(expected, actual)
: Fallisce seexpected
non è uguale aactual
.assertArrayEquals(expectedArray, actualArray)
: Fallisce se gli array non sono uguali.assertEquals(expected, actual, delta)
: Confronta numeri reali con tolleranzadelta
. Accetta un messaggio opzionale per spiegare il fallimento.
Annotazioni per la Gestione dei Test
-
@BeforeEach
: Metodo eseguito prima di ogni test case. Utile per l'inizializzazione di variabili, oggetti, o operazioni comuni. Evita dipendenze fra test. -
@BeforeAll
: Metodo eseguito una sola volta prima del primo test case. Dovrebbe essere statico. Utile per configurazioni complesse (es. connessione a un DB). -
@AfterEach
: Metodo eseguito dopo ogni test case. Utile per la pulizia dell'ambiente. -
@AfterAll
: Metodo eseguito una sola volta dopo l'ultimo test case. Dovrebbe essere statico. Utile per liberare risorse, chiudere connessioni. -
@Disabled
: Disabilita un test o una classe di test. Permette di non eseguire test ancora incompleti o provvisori. Può accettare una stringa per una spiegazione. -
@DisplayName
: Assegna un nome più descrittivo al test. Rende i risultati di test più leggibili. -
@ParameterizedTest
: Permette di eseguire un metodo di test più volte con diversi set di argomenti. Richiede una fonte (es. un array, una lista, o un metodo) che fornisce gli argomenti. -
@ValueSource
: Fornisce una serie di valori letterali a@ParameterizedTest
. Supporta vari tipi di valori (es. interi, stringhe). -
@NullSource
: Utilizzata con@ParameterizedTest
, fornisce un argomento null al metodo di test. -
@EmptySource
: Utilizzata con@ParameterizedTest
, fornisce un argomento vuoto per tipi diversi da stringhe o array. -
@NullAndEmptySource
: Combina@NullSource
e@EmptySource
per fornire argomenti null e vuoti. -
@MethodSource
: Permette di utilizzare un metodofactory
che genera lo stream di parametri per il test. -
@CsvFileSource
: Legge i parametri da un file CSV. -
@TestMethodOrder
: Specifica l'ordine di esecuzione dei metodi di test.
Mockito
-
mock(<class>)
: Crea un mock o uno stub per una classe. -
when(<mock>.<method>).thenReturn(<value>)
: Definisce il comportamento del metodo di un mock. Restituiscevalue
quando il metodo viene chiamato. -
verify(<mock>).<method>
: Verifica se il metodo di un mock è stato invocato come previsto. Può verificare il numero di chiamate e gli argomenti utilizzati.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.