Una tabella dati di verifica consente di definire i dati di input e di output della verifica da utilizzare quando si esegue una verifica. Le tabelle dati di verifica sono sincronizzate con lo script del comportamento della verifica in modo che le modifiche apportate al codice siano rispecchiate nella tabella dati di verifica e viceversa.
Dal momento che ciascuna tabella dati di verifica è collegata a uno specifico caso di prova (un metodo di verifica JUnit) all'interno del codice di verifica, per ciascun metodo di verifica viene creata una tabella dati di verifica separata. Quando si lavora con il codice di comportamento della verifica, la vista della tabella dati di verifica viene automaticamente aggiornata quando si sposta il cursore da un metodo di verifica o un altro. Inizialmente quando si apre il codice di comportamento della verifica, non viene visualizzata nessuna tabella dati di verifica finché il cursore non viene spostato su un metodo di verifica all'interno del codice.
Ciascuna riga della tabella dati di verifica rappresenta un oggetto o un'espressione all'interno del codice e ciascuna colonna rappresenta un insieme di dati (classe di equivalenza). Ciascuna colonna insiemi di dati viene divisa a metà, una metà per i valori di input e l'altra per i valori di output previsti. Gli output previsti includono i valori di ritorno, le eccezioni e qualsiasi parametro specificamente contrassegnato per l'output.
Con le tabelle dati di verifica è possibile svolgere le attività che seguono:
Qualsiasi espressione sintatticamente valida che può essere visualizzata a destra di un'istruzione assignment può essere immessa in una tabella dati di verifica sotto forma di espressione. Questo include i primitivi, le stringhe (comprese tra doppi apici), i riferimenti a variabili e le chiamate di costruttore e di metodo.
È inoltre possibile inserire insiemi e intervalli da utilizzare come input di verifica, output previsti e valori di ritorno. La tabella dati di verifica contiene i propri editor per la definizione di insiemi e intervalli. Selezionare una cella della tabella con il tasto destro del mouse e scegliere Definisci insieme o Definisci intervallo. Si noti che non è possibile immettere un insieme o un intervallo all'interno della cella senza utilizzare gli editor di insieme o di intervallo. Un insieme viene visualizzato nella tabella dati tra le parentesi graffe ({ }) e con tanti i valori separati dalla virgola quanti ne servono per definire l'insieme. Un intervallo viene visualizzato in una tabella dati da valori separati da virgola tra parentesi quadre([ ])
Oltre ad utilizzare espressioni, intervalli, insiemi e oggetti nelle tabelle dati di verifica è anche possibile utilizzare le matrici. Le matrici sono contenitori per un elenco ordinato di elementi primitivi o di oggetto. Le matrici possono essere a una o a più dimensioni, il che significa che possono contenere altre matrici. Le matrici vengono visualizzate gerarchicamente nella tabella dati di verifica con ciascun elemento della matrice visualizzato sulla propria riga, nidificato al di sotto della riga che rappresenta la matrice. Ciascun elemento della matrice viene visualizzato con il proprio indice e può essere recuperato e modificato indipendentemente. Quindi, il primo elemento di una matrice viene visualizzato come [0], il secondo elemento viene visualizzato come [1] e così via.
È possibile visualizzare come un'unica riga di una tabella dati di verifica gli argomenti basati su tipi primitivi (int, char, double, long, eccetera), su tipi primitivi nascosti, ad esempio Integer o Double o su stringhe. Tuttavia, non è possibile visualizzare in un'unica riga della tabella dati di verifica gli oggetti con più di un attributo di definizione. Gli oggetti complessi vengono rappresentati gerarchicamente in diverse righe della tabella dati di verifica.
Quando si sceglie una qualsiasi cella che contiene un oggetto all'interno della tabella dati di verifica, sarà possibile effettuare una selezione da un elenco di modalità per la definizione di un oggetto. Gli oggetti possono essere definiti in base a uno o più costruttori e in base a uno o più insiemi di proprietà dell'oggetto. Quando si seleziona un elemento dall'elenco, la riga che rappresenta l'oggetto si espande e visualizza gli attributi di definizione selezionati.
Un insieme di dati (o classe di equivalenza) è un insieme di valori di input che ci si aspetta generino lo stesso comportamento. Gli insiemi di dati servono a ripartire i dati in unità logiche che dovrebbero essere gestite allo stesso modo dal codice. Ciascun insieme di dati di una tabella dati di verifica contiene una colonna per i valori di input e un altra per i valori di output previsti.
Ciascun insieme di dati fornisce valori ad una o più esecuzioni di verifica. Se esistono tre insiemi di dati nella tabella dati di verifica, lo stesso comportamento di verifica verrà eseguito almeno tre volte. Se gli insiemi e gli intervalli vengono utilizzati come valori nella tabella dati di verifica, ci sarà almeno un'esecuzione della verifica per ciascun valore dell'insieme e dell'intervallo.
Le tabelle dati di verifica contengono una colonna tipo che può essere modificata in modo che le variabili di un tipo di interfaccia o di un tipo con classi ereditate possano disporre di dati che appartengono alla classe o alla sottoclasse di implementazione. Ad esempio, si consideri un ipotetico metodo denominato drawCalendar che prevede un unico argomento di tipo Calendar, che a sua volta disponga d sottoclassi come GregorianCalendar e LunarCalendar. Se si desidera definire un insieme di verifiche che passi un oggetto di tipo GregorianCalendar, sarà necessario modificare il campo tipo di argomento. Quando si modifica il tipo, l'argomento originario viene visualizzato nella firma del metodo.
Concetti correlati
Insieme di dati
Espressioni
Processo di generazione verifica
Tabelle dati stub
Attività correlate
Definizione degli insiemi
Definizione degli intervalli
Aggiunta di elementi a una matrice
Fornire dati di verifica per gli attributi dei tipi dati dell'oggetto
Utilizzo delle sottoclassi per inizializzare e verificare un oggetto
Selezione di una eccezione prevista
Definizione dei dati di verifica