Gli stub sono classi che forniscono implementazioni di sostituzione per le classi reali richiamate dal codice. È possibile generare stub per i componenti Java, per gli EJB (Enterprise JavaBeans) e per i servizi web.
Gli stub sono tipicamente utilizzati per i seguenti scopi:
È possibile definire lo stub di una classe Java e ridefinirlo in più di una verifica. Una volta che lo stub è stato creato, il comportamento viene definito nella tabella dati stub oppure viene immesso il codice nella classe di codice utente associata allo stub.
Le tabelle dati stub definiscono il comportamento di output di una classe stub in risposta a determinati input. Mediante la tabella dati stub è possibile simulare la classe stub specificando il reale input e i valori di ritorno per ciascun metodo stub. L'utilizzo della tabella dati stub viene esemplificato nell'esempio illustrato di seguito relativo a un'applicazione per la gestione degli immobili.
In questa applicazione vengono verificate due classi: Lender e Appraiser. Viene effettuato lo stub di una terza classe denominata Mortgage per poter più facilmente eseguire in modo isolato la verifica delle classi Lender e Appraiser. Queste classi e i relativi metodi vengono sintetizzate nella tabella che segue:
Lender | Appraiser | Mortgage |
---|---|---|
validateCredit | getBestMortgageRate | getAPR |
computeFixed30y | ||
computeARM30y |
Il metodo getAPR all'interno della classe Mortgage prevede due parametri di input, points e score, e restituisce rate. Come visualizzato nella seguente raffigurazione della tabella dati stub per la classe Mortgage, se il parametro points è uguale a 1, a prescindere dal parametro score, l'output rate sarà 5,94%. Se il parametro points è uguale a 2 e score è compreso in un intervallo che va da 700 a 900, l'output rate sarà 5.69%.
Mediante l'utilizzo della tabella dati stub, è possibile simulare il comportamento del metodo getAPR.
Un altro modo di definire il comportamento dello stub consiste nell'aggiungere il codice alla classe codice utente generata insieme allo stub. Tipicamente, il comportamento dello stub viene definito nella classe codice utente nei casi in cui questo non può essere eseguito nella tabella dati stub. Ad esempio, ciò potrebbe verificarsi nei casi che seguono:
Qualsiasi codice che viene aggiunto alla classe codice utente in relazione a un particolare metodo ha la precedenza sul comportamento specificato nella tabella dati stub.
È inoltre possibile utilizzare gli stub durante la verifica di bean di sessione. Ad esempio, nel caso in cui si desideri effettuare lo stub di un bean di sessione i cui metodi business non sono ancora completamente implementati. Nella maggior parte dei casi non è necessario effettuare lo stub dei bean entity poiché è possibile verificarli in modo isolato senza ricorrere agli stub.
Concetti correlati
Tabelle dati stub
La verifica componenti e l'editor Java
Attività correlate
Creazione di stub per componenti Java
Creazione di stub per i bean di sessione
Modifica degli stub in una suite di verifica
Inserimento di punti di inizializzazione
Inserimento di azioni di convalida
Inserimento di vincoli di tempo