La funzione di una tabella dati stub è di fornire i dati alle routine stub. Le tabelle dati stub definiscono il comportamento di output di un metodo stub in risposta a determinati input. Mediante la tabella dati stub è possibile simulare la classe di stub specificando l'effettivo input e i valori di ritorno per ciascun metodo stub.
Da molti punti di vista le tabelle dati stub sono simili alle tabelle dati di verifica, tuttavia esistono alcune differenze.
- Input e output. Mentre le tabelle dati di verifica definiscono i valori di input e di output previsti che determinano la verifica, le tabelle dati stub definiscono gli effettivi valori di output che rappresentano il risultato di specifici valori di input. Per tale ragione, è possibile utilizzare le tabelle dati stub per generare un comportamento predicibile da parte dello stub.
- Insiemi e intervalli. Con le tabelle dati di verifica è possibile utilizzare gli insiemi e gli intervalli per i valori di input, i valori di output previsti e i valori di ritorno. Con le tabelle dati stub è possibile utilizzare gli insiemi e gli intervalli soltanto per i valori di input.
- Eccezioni. Nelle tabelle dati di verifica viene specificato il tipo di un'eccezione, ad esempio "java.lang.RuntimeException", per controllare se la verifica lancerà un'eccezione di quel tipo. Nella tabella dati stub viene specificato un comportamento che lancerà un'eccezione scrivendo una vera e propria espressione, non solo il tipo di espressione, ad esempio "new java.lang.RuntimeException("Outchhhh").